<?xml version="1.0"?>
<doc>
    <assembly>
        <name>FlatRedBall</name>
    </assembly>
    <members>
        <member name="T:FlatRedBall.AI.LineOfSight.IViewer">
            <summary>
            A viiewer in a VisibilityGrid.  This typically is a unit which removes fog of war around it.
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.IStaticPositionable">
            <summary>
            Provides an interface for 3D position.
            </summary>
            <remarks>
            Does not include Velocity and Acceleration like IPositionable.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Math.IStaticPositionable.X">
            <summary>
            The absolute X position.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.IStaticPositionable.Y">
            <summary>
            The absolute Y position.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.IStaticPositionable.Z">
            <summary>
            The absolute Z position.
            </summary>
        </member>
        <member name="P:FlatRedBall.AI.LineOfSight.IViewer.WorldViewRadius">
            <summary>
            The distance in world units that this IViewer can see.
            </summary>
        </member>
        <member name="T:FlatRedBall.AI.LineOfSight.VisibilityGrid">
            <summary>
            Represents a 2D grid of cells which identify what can be seen given a list of IViewers. 
            This supports line of sight.
            </summary>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.#ctor(System.Single,System.Single,System.Single,System.Int32,System.Int32)">
            <summary>
            Instantiates a new VisibilityGrid.
            </summary>
            <param name="xSeed">The absolute x coordinate seed value.</param>
            <param name="ySeed">The absolute y coordinate seed value.</param>
            <param name="gridSpacing">The amount of distance in world coordinates between rows and columns.</param>
            <param name="numberOfXTiles">Number of tiles wide (on the X axis)</param>
            <param name="numberOfYTiles">Number of tiles heigh (on the Y axis)</param>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.Activity">
            <summary>
            Checks if any viewers have changed since last Update, and if so it updates the grid.
            </summary>
            <returns>Whether anything has changed.</returns>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.Destroy">
            <summary>
            Destroys the VisibilityGrid - specifically disposing its internal fog texture.
            </summary>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.AddViewer(FlatRedBall.AI.LineOfSight.IViewer)">
            <summary>
            Adds an IViewer to this grid.
            </summary>
            <param name="viewerToAdd">The viewer to add.</param>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.BleedDirectlyVisibleToWalls">
            <summary>
            Makes walls visible if they are adjacent to visible non-walls.
            </summary>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.BlockWorld(System.Single,System.Single)">
            <summary>
            Adds a block (or wall) at a given world location.
            </summary>
            <param name="worldX">The world coordinate X.</param>
            <param name="worldY">The world coordinate Y.</param>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.UnBlockWorld(System.Single,System.Single)">
            <summary>
            Unblocks a tile that was previously marked as a world blocker
            </summary>
            <param name="X">The X coordinate of the tile</param>
            <param name="Y">The Y coordinate of the tile</param>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.ClearBlockedTiles">
            <summary>
            Clears all blocked tiles.
            </summary>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.IsPositionInDirectView(FlatRedBall.AI.LineOfSight.IViewer,Microsoft.Xna.Framework.Vector3@)">
            <summary>
            Returns whether a given world position is in view of a given viewer.
            </summary>
            <param name="viewer">The viewer to check visibility for.</param>
            <param name="targetPosition">The world coordinates.</param>
            <returns>Whether in view.</returns>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.IsRevealedWorld(System.Single,System.Single)">
            <summary>
            Returns whether a given world coordinate is relealed.
            </summary>
            <param name="worldX">The world x coordinate.</param>
            <param name="worldY">The world y coordinate.</param>
            <returns>Whether the world coordinate is revealed or not.</returns>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.IsRevealed(System.Int32,System.Int32)">
            <summary>
            Returns whether a given X and Y index is revealed.
            </summary>
            <param name="xIndex">The x index</param>
            <param name="yIndex">The y index</param>
            <returns>Whether the location specified by the x/y index is revealed.</returns>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.MakeAllHidden">
            <summary>
            Hides the entire grid (makes it not revealed).
            </summary>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.MakeAllRevealed">
            <summary>
            Reveals the entire grid.
            </summary>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.RemoveViewer(FlatRedBall.AI.LineOfSight.IViewer)">
            <summary>
            Removes a viewer.
            </summary>
            <param name="viewerToRemove">The argument IViewer to remove.</param>
        </member>
        <member name="M:FlatRedBall.AI.LineOfSight.VisibilityGrid.RevealCircleWorld(System.Single,System.Single,System.Single)">
            <summary>
            Reveals a circle around the given world coordinate using a given radius
            </summary>
            <param name="worldX">The world coordinate X</param>
            <param name="worldY">The world coordinate Y</param>
            <param name="worldRadius">The radius in world units</param>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PathfindingFunctions.IsInLineOfSight(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Vector3,FlatRedBall.Math.PositionedObjectList{FlatRedBall.Math.Geometry.Polygon})">
            <summary>
            Tests if two vector positions are within line of sight given a collision map.
            </summary>
            <param name="position1">The first world-coordinate position.</param>
            <param name="position2">The second world-coordinate position.</param>
            <param name="collisionMap">The list of polygons used to test if the two positions are within line of sight.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PathfindingFunctions.IsInLineOfSight(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Vector3,System.Single,FlatRedBall.Math.PositionedObjectList{FlatRedBall.Math.Geometry.Polygon})">
            <summary>
            Tests if two vector positions are within line of sight given a collision map.
            </summary>
            <param name="position1">The first world-coordinate position.</param>
            <param name="position2">The second world-coordinate position.</param>
            <param name="collisionThreshold">Distance from position2 to the polygon it's colliding against.
            If a polygon is within this threshold, this will return false.</param>
            <param name="collisionMap">The list of polygons used to test if the two positions are within line of sight.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PathfindingFunctions.Midpoint(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Vector3)">
            <summary>
            Returns the midpoint between two Vector3s.
            </summary>
            <param name="position1">The first position.</param>
            <param name="position2">The connecting position.</param>
            <returns>The midpoint between the two positions.</returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PathfindingFunctions.OptimalVisiblePoint(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Vector3,System.Int32,System.Single,FlatRedBall.Math.PositionedObjectList{FlatRedBall.Math.Geometry.Polygon})">
            <summary>
            Calculates the closest visible point to outOfSightPosition given the currentPosition.
            </summary>
            <param name="currentPosition">The position with which to test Line Of Sight</param>
            <param name="inSightPosition">The connector to the outOfSightPosition with which to find midpoint optimizations.</param>
            <param name="outOfSightPosition">The guide to find the optimal in sight position.</param>
            <param name="numberOfOptimizations">The number of times we will midpoint optimize, higher means closer to optimal.</param>
            <param name="collisionThreshold">Usually the object using the path will be larger than 0, use the size of the collision for testing line of sight.</param>
            <param name="collisionMap">Polygon list which we will use for collision (without it, everything is straight line of sight).</param>
            <returns></returns>
        </member>
        <member name="T:FlatRedBall.AI.Pathfinding.Link">
            <summary>
            Represents a one-way const-including path to a PositionedNode.
            </summary>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.Link.#ctor(FlatRedBall.AI.Pathfinding.PositionedNode,System.Single)">
            <summary>
            Creates a new Link.
            </summary>
            <param name="nodeLinkingTo">The node to link to.</param>
            <param name="cost">The cost to travel the link.</param>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.Link.Cost">
            <summary>
            The cost to travel the link.
            </summary>
            <remarks>
            This is by default the distance to travel; however it can manually
            be changed to be any value to reflect different terrain, altitude, or other
            travelling costs.
            </remarks>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.Link.NodeLinkingTo">
            <summary>
            The destination PositionedNode.  The starting PositionedNode is not stored by the Link instance.
            </summary>
        </member>
        <member name="T:FlatRedBall.AI.Pathfinding.NodeNetwork">
            <summary>
            Stores a collection of PositionedNodes and provides common functionality for
            pathfinding logic.
            </summary>
        </member>
        <member name="T:FlatRedBall.Utilities.INameable">
            <summary>
            Defines that an object has a name.
            </summary>
            <remarks>
            Objects which are referenced by other objects in serializable classes
            should be INameable so that the in-memory reference can be coverted to
            a string and then re-created when the object is deserialized.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Utilities.INameable.Name">
            <summary>
            The name of the object.
            </summary>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.#ctor">
            <summary>
            Creates an empty NodeNetwork.
            </summary>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.AddNode">
            <summary>
            Creates a new PositionedNode and adds it to the NodeNetwork.
            </summary>
            <returns>The newly-created PositionedNode.</returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.AddNode(FlatRedBall.AI.Pathfinding.PositionedNode)">
            <summary>
            Adds an already-created PositionedNode to the NodeNetwork.
            </summary>
            <remarks>
            Will not add the PositionedNode if it is already part of the NodeNetwork
            </remarks>
            <param name="nodeToAdd">The PositionedNode to add.</param>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.FindByName(System.String)">
            <summary>
            Finds a PositionedNode by the argument nameofNode.
            </summary>
            <param name="nameOfNode">The name of the PositionedNode to search for.</param>
            <returns>The PositionedNode with the matching Name, or null if no PositionedNodes match.</returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.GetClosestNodeTo(Microsoft.Xna.Framework.Vector3@)">
            <summary>
            Returns the PositionedNode that's the closest to the argument position.
            </summary>
            <param name="position">The point to find the closest PositionedNode to.</param>
            <returns>The PositionedNode that is the closest to the argument position.</returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.GetVisibleNodeRadius(FlatRedBall.Camera,System.Int32)">
            <summary>
            Returns the radius of the PositionedNode visible representation Polygons.
            </summary>
            <remarks>
            The size of the PositionedNode visible representation Polygons depends on the
            camera's Z position - as the Camera moves further away, the Polygons are drawn larger.
            If the Camera is viewing down the Z axis then changing the Z will not affect the visible
            size of the PositionedNode visible representation.
            </remarks>
            <param name="camera">The camera to use when calculating the size.</param>
            <param name="nodeIndex">The index of the PositionedNode in the NodeNetwork.  Since nodes can be in 
            3D space the individual PositionedNode is required.</param>
            <returns>The radius of the node.</returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.GetPath(FlatRedBall.AI.Pathfinding.PositionedNode,FlatRedBall.AI.Pathfinding.PositionedNode)">
            <summary>
            Returns the List of PositionedNodes which make the path from the start PositionedNode to the end PositionedNode.
            </summary>
            <remarks>
            If start and end are the same node then the List returned will contain that node.
            </remarks>
            <param name="start">The PositionedNode to begin the path at.</param>
            <param name="end">The destination PositionedNode.</param>
            <returns>The list of nodes to travel through to reach the end PositionedNode from the start PositionedNode.  The
            start and end nodes are included in the returned List.</returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.GetPath(Microsoft.Xna.Framework.Vector3@,Microsoft.Xna.Framework.Vector3@)">
            <summary>
            Returns the List of PositionedNodes which make the path from the start Vector3 to the end Vector3.
            </summary>
            <remarks>
            This method finds the closest nodes to each of the arguments, then calls the overload for GetPath which takes
            PositionedNode arguments.
            </remarks>
            <param name="startPoint">The world-coordinate start position.</param>
            <param name="endPoint">The world-coordinate end position.</param>
            <returns>The list of nodes to travel through to reach the closest PositionedNode to the endPoint from the closest
            PositionedNode to the startPoint.</returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.GetPathOrClosest(FlatRedBall.AI.Pathfinding.PositionedNode,FlatRedBall.AI.Pathfinding.PositionedNode)">
            <summary>
            Returns the List of PositionedNodes which make the path from the start PositionedNode to the end PositionedNode, or the node closest to the end node which is linked through the network to the start PositionedNode.
            </summary>
            <remarks>
            If start and end are the same node then the List returned will contain that node.
            </remarks>
            <param name="start">The PositionedNode to begin the path at.</param>
            <param name="end">The optimal destination PositionedNode.</param>
            <returns>The list of nodes to travel through to reach the end PositionedNode, or the node closest to the PositionedNode which is connected to the start PositionedNode, from the start PositionedNode.  The
            start and end nodes are included in the returned List.</returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.GetPathOrClosest(Microsoft.Xna.Framework.Vector3@,Microsoft.Xna.Framework.Vector3@)">
            <summary>
            Returns the List of PositionedNodes which make the path from the start Vector3 to the end Vector3, or to the node closest to the end Vector3 available if the end node is not linked in some way to the start node. 
            </summary>
            <remarks>
            This method finds the closest nodes to each of the arguments, then calls the overload for GetPathOrClosest which takes
            PositionedNode arguments.
            </remarks>
            <param name="startPoint">The world-coordinate start position.</param>
            <param name="endPoint">The world-coordinate end position.</param>
            <returns>The list of nodes to travel through to reach the closest PositionedNode which is linked to the closest PositionedNode to the startPoint.
            </returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.GetCollisionOptimizedPath(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Vector3,FlatRedBall.Math.PositionedObjectList{FlatRedBall.Math.Geometry.Polygon})">
            <summary>
            Returns a List of Vector3s that will be an optimized version of GetPath given the NodeNetwork and a Collision Map to test against.
            </summary>
            <remarks>
            This method will get the optimal path between the two vectors using GetPath, and then will optimize it by
            testing line of sight between the nodes to see if the path can be optimized further (for more optimized
            pathfinding). When optimizing the path between two nodes, it will check if the midpoint is in line of sight with the
            startingPosition, and if it is, change the path to the midpoint instead of the current target node. the numberOfOptimizations
            decides how many times it will take the midpoint and optimize further.
            
            This method assumes that the node network does NOT fall within collidable objects.
            </remarks>
            <param name="startingPosition">The world-coordinate of the starting position.</param>
            <param name="destination">The world-coordinate of the destination.</param>
            <param name="collisionMap">The collision map which will have the obstacles you are trying to path around.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.GetCollisionOptimizedPath(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Vector3,System.Int32,System.Int32,System.Single,FlatRedBall.Math.PositionedObjectList{FlatRedBall.Math.Geometry.Polygon})">
            <summary>
            Returns a List of Vector3s that will be an optimized version of GetPath given the NodeNetwork and a Collision Map to test against.
            </summary>
            <remarks>
            This method will get the optimal path between the two vectors using GetPath, and then will optimize it by
            testing line of sight between the nodes to see if the path can be optimized further (for more optimized
            pathfinding). When optimizing the path between two nodes, it will check if the midpoint is in line of sight with the
            startingPosition, and if it is, change the path to the midpoint instead of the current target node. the numberOfOptimizations
            decides how many times it will take the midpoint and optimize further.
            </remarks>
            <param name="startingPosition">The world-coordinate of the starting position.</param>
            <param name="destination">The world-coordinate of the destination.</param>
            <param name="numberOfOptimizations">The number of times the algorithm will take the midpoint between
            two nodes to test if they are within line of sight of each other (higher means nearer to optimal path).</param>
            <param name="optimizationsDeep"></param>
            <param name="collisionThreshold">Usually the object using the path will be larger than 0, use the size of the collision for testing line of sight.</param>
            <param name="collisionMap">The collision map which will have the obstacles you are trying to path around.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.Remove(FlatRedBall.AI.Pathfinding.PositionedNode)">
            <summary>
            Removes the argument PositionedNode from the NodeNetwork.  Also destroys any links
            pointing to the argument PositionedNode.
            </summary>
            <param name="nodeToRemove">The PositionedNode to remove.</param>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.Remove(FlatRedBall.AI.Pathfinding.PositionedNode,System.Boolean)">
            <summary>
            Removes the argument PositionedNode from the NodeNetwork.  Also destroys any links
            pointing to the argument PositionedNode.
            </summary>
            <param name="nodeToRemove">The PositionedNode to remove from the network.</param>
            <param name="scanAndRemoveOneWayReferences">Scans the entire network and removes all links to this node. Used when not all link relationships are two way.</param>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.NodeNetwork.UpdateShapes">
            <summary>
            Updates the visible representation of the NodeNetwork.  This is only needed to be called if the NodeNetwork
            is visible and if any contained PositionedNodes or Links have changed.
            </summary>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.NodeNetwork.Nodes">
            <summary>
            All nodes in this NodeNetwork.
            </summary>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.NodeNetwork.NodeVisibleRepresentation">
            <summary>
            The polygons used to represent PositionedNodes.  This is populated and managed by the
            NodeNetwork if Visible is set to true.
            </summary>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.NodeNetwork.NodeColor">
            <summary>
            The Color that Node polygons should use when Visible is true;
            </summary>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.NodeNetwork.Visible">
            <summary>
            Controls the visibility of the NodeNetwork.  This is usually only set to 
            true for debugging and testing purposes.  
            </summary>
            <remarks>
            Setting this value to true creates Polygons and Lines to represent the
            NodeNetwork.  Setting it back to false destroys all objects used for visible
            representation.
            </remarks>
        </member>
        <member name="T:FlatRedBall.AI.Pathfinding.PositionedNode">
            <summary>
            An object which has position properties 
            </summary>
        </member>
        <member name="F:FlatRedBall.AI.Pathfinding.PositionedNode.mParentNode">
            <summary>
            The node that links to this node.  This is reset every time the 
            containing NodeNetwork searches for a path.
            </summary>
        </member>
        <member name="F:FlatRedBall.AI.Pathfinding.PositionedNode.mCostToGetHere">
            <summary>
            The cost to get to this node from the start node.  This variable is
            set when the containing NodeNetwork searches for a path.
            </summary>
        </member>
        <member name="F:FlatRedBall.AI.Pathfinding.PositionedNode.mActive">
            <summary>
            Only active nodes are included in pathfinding and find node searches. 
            </summary>
            Update February 10, 2013
            Nodes should always start 
            out as active.  
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PositionedNode.#ctor">
            <summary>
            Creates a new PositionedNode.
            </summary>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PositionedNode.BreakLinkBetween(FlatRedBall.AI.Pathfinding.PositionedNode)">
            <summary>
            Disconnects all Links between this and the argument node.
            </summary>
            <param name="node">The PositionedNode to break links between.</param>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PositionedNode.IsLinkedTo(FlatRedBall.AI.Pathfinding.PositionedNode)">
            <summary>
            Returns whether this has a Link to the argument PositionedNode.
            </summary>
            <remarks>
            If this does not link to the argument PositionedNode, but the argument
            links back to this, the method will return false.  It only checks links one-way.
            </remarks>
            <param name="node">The argument to test linking.</param>
            <returns>Whether this PositionedNode links to the argument node.</returns>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PositionedNode.LinkTo(FlatRedBall.AI.Pathfinding.PositionedNode,System.Single)">
            <summary>
            Creates Links from this to the argument nodeToLinkTo, and another Link from the
            argument nodeToLinkTo back to this.
            </summary>
            <remarks>
            If either this or the argument nodeToLinkTo already contains a link to the other 
            PositionedNode, then the cost of the link is set to the argument costTo.
            </remarks>
            <param name="nodeToLinkTo">The other PositionedNode to create Links between.</param>
            <param name="costTo">The cost to travel between this and the argument nodeToLinkTo.</param>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PositionedNode.LinkTo(FlatRedBall.AI.Pathfinding.PositionedNode,System.Single,System.Single)">
            <summary>
            Creates Links from this to the argument nodeToLinkTo, and another Link from the
            argument nodeToLinkTo back to this.
            </summary>
            <remarks>
            If either this or the argument nodeToLinkTo already contains a link to the other 
            PositionedNode, then the cost of the link is set to the argument costTo or costFrom as appropriate.
            </remarks>
            <param name="nodeToLinkTo">The other PositionedNode to create the Links between.</param>
            <param name="costTo">The cost to travel from this to the argument nodeToLinkTo.</param>
            <param name="costFrom">The cost to travel from the nodeToLinkTo back to this.</param>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PositionedNode.LinkToOneWay(FlatRedBall.AI.Pathfinding.PositionedNode,System.Single)">
            <summary>
            Creates a link from this PositionedNode to the argument nodeToLinkTo.  Links
            on the argument nodeToLinkTo are not modified.
            </summary>
            <remarks>
            If this already links to the arugment nodeToLinkTo, the cost is set to the argument
            costTo.
            </remarks>
            <param name="nodeToLinkTo">The PositionedNode to create a link to.</param>
            <param name="costTo">The cost to travel from this to the argument nodeToLinkTo.</param>
        </member>
        <member name="M:FlatRedBall.AI.Pathfinding.PositionedNode.ToString">
            <summary>
            Returns the string representation of this.
            </summary>
            <returns>The string representation of this.</returns>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.PositionedNode.CostToGetHere">
            <summary>
            Returns the cost to get to this node from the start node.  This
            value is only accurate if the node is contained in list returned
            by the last call to NodeNetwork.GetPath.
            </summary>
            <remarks>
            This value is reset anytime GetPath is called on the containing NodeNetwork.
            </remarks>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.PositionedNode.Name">
            <summary>
            The Node's name.  Mainly used for saving NodeNetworks since saved Links reference
            PositionedNodes by name.
            </summary>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.PositionedNode.X">
            <summary>
            The X position of the PositionedNode.
            </summary>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.PositionedNode.Y">
            <summary>
            The Y position of the PositionedNode.
            </summary>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.PositionedNode.Z">
            <summary>
            The Z position of the PositionedNode.
            </summary>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.PositionedNode.Links">
            <summary>
            The links belonging to this PositionedNode.
            </summary>
            <remarks>
            This is a list of Links which reference the PositionedNodes that this links to.
            Links are one-way and PositionedNodes that this links to do not necessarily contain
            Links back to this.
            </remarks>
        </member>
        <member name="P:FlatRedBall.AI.Pathfinding.PositionedNode.Active">
            <summary>
            Only active nodes are included in pathfinding and find node searches. 
            </summary>
        </member>
        <member name="T:FlatRedBall.Attributes.ExternalInstance">
            <summary>
            Defines a member as an external instance.  Members which are external instances
            are not read by ContentReaders.  Rather they're set by ExternalInstances of referenced
            content such as Texture2Ds.
            </summary>
        </member>
        <member name="T:FlatRedBall.Attributes.ExternalInstanceList">
            <summary>
            Attribute marking a member in a save class as an external instance.  That is, it should
            be treated as external content by the ObjectReaders and ObjectWriters in the FlatRedBall
            content pipeline.
            </summary>
        </member>
        <member name="T:FlatRedBall.Attributes.InstanceListMember">
            <summary>
            Used internally by the engine to determine the order of 
            reading and writing for instances.
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.Play(Microsoft.Xna.Framework.Audio.SoundEffect,System.Single)">
            <summary>
            Plays the argument sound effect.
            </summary>
            <param name="soundEffect">The sound effect to play</param>
            <param name="volume">Volume, ranging from 0.0f (silence) to 1.0f (full volume). 1.0f is full volume</param>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.PlaySong">
            <summary>
            Plays the current song.  PlaySong with an argument must
            be called before this can be called.  This can be used to
            resume music when the game is unpaused or if audio options are
            being turned on/off
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.AddSoundBank(System.String)">
            <summary>
            Adds a sound bank
            </summary>
            <param name="soundBankFile">The sound bank to add</param>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.AddWaveBank(System.String)">
            <summary>
            Adds a wave bank
            </summary>
            <param name="waveBankFile">The wave bank to add</param>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.RemoveSoundBank(System.String)">
            <summary>
            Removes a sound bank
            </summary>
            <param name="soundBankFile">The sound bank to remove</param>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.RemoveWaveBank(System.String)">
            <summary>
            Removes a wave bank
            </summary>
            <param name="waveBankFile">The wave bank to remove</param>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.HasSoundBank(System.String)">
            <summary>
            Whether or not the given sound bank file has been loaded
            </summary>
            <param name="soundBankFile">The sound bank to check</param>
            <returns>Whether or not the sound bank has been loaded</returns>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.HasWaveBank(System.String)">
            <summary>
            Whether or not the given wave bank file has been loaded
            </summary>
            <param name="soundBankFile">The wave bank to check</param>
            <returns>Whether or not the wave bank has been loaded</returns>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.GetSound(System.String)">
            <summary>
            Gets a sound
            </summary>
            <param name="soundName">The name of the sound in the XACT project</param>
            <returns>A new sound</returns>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.GetSound(System.String,System.String)">
            <summary>
            Gets a sound
            </summary>
            <param name="soundName">The name of the sound in the XACT project</param>
            <param name="soundBankFile">The name of the sound bank to retrieve the sound from</param>
            <returns>A new sound</returns>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.GetPositionedSound(System.String)">
            <summary>
            Gets a positioned sound
            </summary>
            <param name="soundName">The name of the sound in the XACT project</param>
            <returns>A new positioned sound</returns>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.GetPositionedSound(System.String,System.String)">
            <summary>
            Gets a positioned sound
            </summary>
            <param name="soundName">The name of the sound in the XACT project</param>
            <param name="soundBankFile">The name of the sound bank to retrieve the sound from</param>
            <returns>A new positioned sound</returns>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.RemovePositionedSound(FlatRedBall.Audio.PositionedSound)">
            <summary>
            Removes the specified sound from the audio manager
            Warning: The sound will stop being positioned when removed
            </summary>
            <param name="sound">The sound to remove</param>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.PlaySound(System.String)">
            <summary>
            Plays a sound immediately
            </summary>
            <param name="soundName">The name of the sound in the XACT project</param>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.PlaySound(System.String,System.String)">
            <summary>
            Plays a sound immediately
            </summary>
            <param name="soundName">The name of the sound in the XACT project</param>
            <param name="soundBankFile">The name of the sound bank to retrieve the sound from</param>
        </member>
        <member name="M:FlatRedBall.Audio.AudioManager.Initialize(System.String,System.String,System.String)">
            <summary>
            Initializes the audio manager with an XACT audio project
            </summary>
            <param name="settingsFile">The settings file for the audio project (xgs)</param>
            <param name="waveBankFile">The wave bank file for the audio project (xwb)</param>
            <param name="soundBankFile">The sound bank file for the audio project (xsb)</param>
        </member>
        <member name="P:FlatRedBall.Audio.AudioManager.CurrentSong">
            <summary>
             Represents the "active" song.  This may or may not be actually playing.
             This may still be non-null when no song is playing if the code has stopped
             music from playing.  The AudioManager remembers this to resume playing later.
            </summary>
        </member>
        <member name="P:FlatRedBall.Audio.AudioManager.CurrentlyPlayingSong">
            <summary>
            Represents the song that is currently playing.  If no song is playing this is null.
            </summary>
        </member>
        <member name="P:FlatRedBall.Audio.AudioManager.NumberOfSoundEffectPlays">
            <summary>
            Reports the total number of sound effects that have been played by the AudioManager since the start of the program's execution.
            This can be used to count sound effect plays as a rough form of profiling.
            </summary>
        </member>
        <member name="T:FlatRedBall.Audio.SoundGlobalVariableCollection">
            <summary>
            Used to manage global variables in the audio engine
            </summary>
        </member>
        <member name="T:FlatRedBall.Audio.PositionedSound">
            <summary>
            A sound which has a position enabling effects such as doppler effect and 
            distance-based volume adjustments.
            </summary>
        </member>
        <member name="T:FlatRedBall.PositionedObject">
            <summary>
            Represents an object with position, rotation, ability to 
            store instructions, and attachment abilities.
            </summary>
            <remarks>
            The PositionedObject is a common object in FlatRedBall.  It is the root class
            for a number of FlatRedBall classes including Sprites, Texts, SpriteFrames, PositionedModels,
            and all Shapes.
            <para>
            The PositionedObject class is also used as the base class when creating custom Entitiy objects.
            </para>
            <para>
            PositionedObjects can be automatically managed by being added to the SpriteManager.
            </para>
            </remarks>
        </member>
        <member name="T:FlatRedBall.Math.IAttachable">
            <summary>
            Interface for an object which can be attached to a parent.
            </summary>
            <remarks>
            IAttachables do not necessarily have to be positioned objects - they
            can also be objects which have un-positioned attachments.  For example,
            an event in a scripted sequence might have a parent event which it executes
            after.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Math.IAttachable.ClearRelationships">
            <summary>
            Clears all attachments to parents and removes all attached Children.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.IAttachable.Detach">
            <summary>
            Detaches the instance from its parent and removes it from its parent's Children List.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.IAttachable.ForceUpdateDependencies">
            <summary>
            Forces an update of the instance and calls ForceUpdateDependencies on its parent.
            </summary>
            <remarks>
            This method will recursively crawl up the Parent property until it reaches the TopParent.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Math.IAttachable.ListsBelongingTo">
            <summary>
            Gets all lists that the instance belongs to.
            </summary>
            <remarks>
            This property provides the two-way relationship between IAttachables and
            and common FlatRedBall Lists.
            </remarks>
        </member>
        <member name="T:FlatRedBall.Math.IPositionable">
            <summary>
            Provides an interface for 3D position, velocity, and acceleration.
            </summary>
            <remarks>
            For an interface which provides only and no velocity and acceleration, see
            FlatRedBall.Math.IStaticPositionable.
            <seealso cref="T:FlatRedBall.Math.IStaticPositionable"/>
            </remarks>
        </member>
        <member name="P:FlatRedBall.Math.IPositionable.XVelocity">
            <summary>
            Gets and sets the absolute X Velocity.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.IPositionable.YVelocity">
            <summary>
            Gets and sets the absolute Y Velocity.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.IPositionable.ZVelocity">
            <summary>
            Gets and sets the absolute Z Velocity.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.IPositionable.XAcceleration">
            <summary>
            Gets and sets the absolute X Acceleration.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.IPositionable.YAcceleration">
            <summary>
            Gets and sets the absolute Y Acceleration.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.IPositionable.ZAcceleration">
            <summary>
            Gets and sets the absolute Z Acceleration.  Meausred in units per second.
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.IRotatable">
            <summary>
            Provides an interface for objects which can be rotated in 3D space.  Includes
            absolute rotation values and rotational velocity values.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.IRotatable.RotationMatrix">
            <summary>
            Gets and sets the absolute rotation matrix.
            </summary>
            <remarks>
            Implementers should mirror changes to the RotationMatrix in the
            individual rotation values.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Math.IRotatable.RotationX">
            <summary>
            Gets and sets the rotation on the X Axis.
            </summary>
            <remarks>
            Implementors should mirror changes to invididual rotation values in the
            RotationMatrix property.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Math.IRotatable.RotationY">
            <summary>
            Gets and sets the rotation on the Y Axis.
            </summary>
            <remarks>
            Implementors should mirror changes to invididual rotation values in the
            RotationMatrix property.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Math.IRotatable.RotationZ">
            <summary>
            Gets and sets the rotation on the Z Axis.
            </summary>
            <remarks>
            Implementors should mirror changes to invididual rotation values in the
            RotationMatrix property.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Math.IRotatable.RotationXVelocity">
            <summary>
            Gets and sets the rotational velocity on the X Axis.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.IRotatable.RotationYVelocity">
            <summary>
            Gets and sets the rotational velocity on the Y Axis.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.IRotatable.RotationZVelocity">
            <summary>
            Gets and sets the rotational velocity on the Z Axis.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.IInstructable">
            <summary>
            Provides an interface for objects which can store Instructions.
            </summary>
        </member>
        <member name="P:FlatRedBall.Instructions.IInstructable.Instructions">
            <summary>
            The list of Instructions that this instance owns.  These instructions usually
            will execute on this instance; however, this is not a requirement.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.Position">
            <summary>
            The absolute world position of the instance.
            </summary>
            <remarks>
            This mirrors the X, Y, and Z properties.  This value essentially becomes
            read-only if this object has a Parent.
            </remarks>
        </member>
        <member name="F:FlatRedBall.PositionedObject.RelativePosition">
            <summary>
            The position of the object relative to its Parent in its Parent's coordinate space.
            </summary>
            <remarks>
            These values become the dominant controller of absolute Position if this
            instance has a Parent.  These values have no impact if the instance does not
            have a Parent.
            </remarks>
        </member>
        <member name="F:FlatRedBall.PositionedObject.Velocity">
            <summary>
            The absolute world velocity of the instance measured in units per second.
            </summary>
            <remarks>
            This mirrors the XVelocity, YVelocity, and ZVelocity properties.  This value is essentially
            invalid if this instance has a Parent.
            </remarks>
        </member>
        <member name="F:FlatRedBall.PositionedObject.RelativeVelocity">
            <summary>
            The velocity of the object relative to its Parent in its Parent's cooridnate space.
            </summary>
            <remarks>
            This value modifies the RelativePosition field even if the object does not have a Parent.
            </remarks>
        </member>
        <member name="F:FlatRedBall.PositionedObject.Acceleration">
            <summary>
            The absolute world acceleration of the instance measured in units per second per second.
            </summary>
            <remarks>
            This mirrors the XAcceleration, YAcceleration, and ZAcceleration properties.  This value is
            essentially invalid if the instance has a Parent; however, it can still build up the Velocity
            value.  
            <para>
            If an object with a parent has a non-zero Acceleration for a significant amount of time, then is
            detached, the Velocity will likely be non-zero and may be very large causing the object to move
            rapidly.
            </para>
            </remarks>
        </member>
        <member name="F:FlatRedBall.PositionedObject.RelativeAcceleration">
            <summary>
            The acceleration of the object relative to its Parent in its Parent's coordinate space.
            </summary>
            <remarks>
            This value modifies the RelativeVelocity field even if the object does not have a Parent.
            </remarks>
        </member>
        <member name="F:FlatRedBall.PositionedObject.RealVelocity">
            <summary>
            The actual velocity of the object from the last frame to this frame.  This value is only valid
            if the KeepTrackOfReal property has been true for over one frame.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.RealAcceleration">
            <summary>
            The actualy acceleration of the object from the last frame to this frame.  This value is only valid
            if the KeepTrackOfReal property has been set to true for over two frames.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.LastPosition">
            <summary>
            The last Position of the object - used to calculate the RealVelocity field.  This is
            valid only if the KeepTrackOfReal property is true.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.LastVelocity">
            <summary>
            The last Velocity of the object - this is used to calculate the RealAcceleration field.  This is
            valid only if the KeepTrackOfReal property is true.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mDrag">
            <summary>
            The drag of the instance.
            </summary>
            <remarks>
            <seealso cref="P:FlatRedBall.PositionedObject.Drag"/>
            </remarks>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mName">
            <summary>
            The name of the instance.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRotationX">
            <summary>
            The X component of the object's absolute rotation.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRotationY">
            <summary>
            The Y component of the object's absolute rotation.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRotationZ">
            <summary>
            The Z component of the object's absolute rotation.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRotationXVelocity">
            <summary>
            The X component of the object's absolute rotational velocity.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRotationYVelocity">
            <summary>
            The Y component of the object's absolute rotational velocity.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRotationZVelocity">
            <summary>
            The Z component of the object's absolute rotational velocity.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRelativeRotationX">
            <summary>
            The X component of the object's relative rotation.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRelativeRotationY">
            <summary>
            The Y component of the object's relative rotation.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRelativeRotationZ">
            <summary>
            The Z component of the object's relative rotation.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRelativeRotationXVelocity">
            <summary>
            The X component of the object's relative rotational velocity.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRelativeRotationYVelocity">
            <summary>
            The Y component of the object's relative rotational velocity.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRelativeRotationZVelocity">
            <summary>
            The Z component of the object's relative rotational velocity.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRotationMatrix">
            <summary>
            The matrix representing the absolute orientation of the instance.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mRelativeRotationMatrix">
            <summary>
            The matrix representing the relative orientation of the object in parent space.  This
            has no impact if the Parent is null.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mListsBelongingTo">
            <summary>
            The lists that this instance belongs to.  This is how two-way relationships are implemented.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mParent">
            <summary>
            The PositionedObject that this is attached to.  If it is null then this does not
            follow any relative properties.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mChildren">
            <summary>
            The objects that are attached to this instance.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mLastDependencyUpdate">
            <summary>
            The value that was last used when calling UpdateDependencies.
            </summary>
        </member>
        <member name="F:FlatRedBall.PositionedObject.mInstructions">
            <summary>
            The instructions that belong to this instance.
            </summary>
        </member>
        <member name="M:FlatRedBall.PositionedObject.#ctor">
            <summary>
            Creates a new PositionedObject instance.
            </summary>
        </member>
        <member name="M:FlatRedBall.PositionedObject.AreSubHierarchiesIdentical(FlatRedBall.PositionedObject,FlatRedBall.PositionedObject)">
            <summary>
            Determines whether the tree structure created by attachments of two PositionedObjects are identical.
            </summary>
            <remarks>
            This method does not investigate the PositionedObjects any more than looking at their children.  It traverses
            through the trees multiple times, and can be a very slow method if the PositionedObjects have large subtrees.  
            The subtrees are small enough in most cases
            where there won't be a performance issue.
            </remarks>
            <param name="s1">The first PositionedObject.</param>
            <param name="s2">The second PositionedObject.</param>
            <returns>Whether the tree structure created by attachments is the same.</returns>
        </member>
        <member name="M:FlatRedBall.PositionedObject.AttachTo(FlatRedBall.PositionedObject,System.Boolean)">
            <summary>
            Attaches this PositionedObject to the argument newParent.
            </summary>
            <remarks>
            <para>A useful way to understand the affect of changeRelative is to consider that it is the opposite of whether 
            absolute values change.  That is, if the relative values do not change upon attachment, the absolute values
            will change.</para>
            <para>
            For an example, consider a situation where a child has an absolute x value of 5 and a relative value of 0 and
            a parent has an absolute x value of 0.  If the child is attached to the parent
            and relative is not changed (relative x remains at 0), then the child's x will be 
            parent.x + child.relX, or 0 + 0 = 0.  We see that the relative value didn't 
            change, so the absolute did.
            </para>
            <para>
            If, on the other hand, the relative was changed, the absolute position would be the same.
            Since the parent's absolute position was 0 and the absolute position of the 
            child should remain at 5, then the relX value would change to 5 (assuming 
            the parent isn't rotated).
            </para>
            </remarks>
            <param name="newParent">The PositionedObject to attach to.</param>
            <param name="changeRelative">Whether relative values should change so that absolute values stay the same.</param>
        </member>
        <member name="M:FlatRedBall.PositionedObject.ClearRelationships">
            <summary>
            Detaches this PositionedObject from its parent and detaches all of the PositionedObject's 
            Children.
            </summary>
        </member>
        <member name="M:FlatRedBall.PositionedObject.CopyFieldsTo(FlatRedBall.PositionedObject)">
            <summary>
            Copies most internal fields of this instance to the argument PositionedObjects.
            </summary>
            <remarks>
            The following fields are not copied:
            <para>* Name</para>
            <para>* ListsBelongingTo</para>
            <para>* Parent</para>
            <para>* Children</para>
            <para>* Instructions</para>
            </remarks>
            <param name="positionedObject"></param>
        </member>
        <member name="M:FlatRedBall.PositionedObject.CopyAbsoluteToRelative">
            <summary>
            Copies the absolute position and rotation values to the relative values.
            </summary>
        </member>
        <member name="M:FlatRedBall.PositionedObject.Clone``1">
            <summary>
            Creates a clone of this instance typed as a T.
            </summary>
            <typeparam name="T">The type of the new object.</typeparam>
            <returns>The newly created instance.</returns>
        </member>
        <member name="M:FlatRedBall.PositionedObject.CreateNewChildrenList">
            <summary>
            Creates a new Children PositionedObjectList.
            </summary>
            <remarks>
            This method is only necessary if a PositionedObject
            is manually cloned by calling MemberwiseClone.  This
            should not be called to detach children as the two-way
            relationship between PositionedObject and PositionedObjectList
            will keep the old Children PositionedObjectList in scope resulting
            in a memory leak.
            </remarks>
        </member>
        <member name="M:FlatRedBall.PositionedObject.CreateNewInstructionsList">
            <summary>
            Creates a new InstructionList.
            </summary>
            <remarks>
            This method is only necessary if a PositionedObject
            is manually cloned by calling MemberwiseClone.  This
            should not be called to clear the Instructions property
            as it will create a new instance and get rid fo the old one
            resulting in unnecessary garbage collection.
            </remarks>
        </member>
        <member name="M:FlatRedBall.PositionedObject.Detach">
            <summary>
            Detaches the PositionedObject from its parent PositionedObject.
            </summary>
            <remarks>
            This method cleans up the two way relationship between parent and child.
            </remarks>
        </member>
        <member name="M:FlatRedBall.PositionedObject.ExecuteInstructions(System.Double)">
            <summary>
            Executes instructions according to the argument currentTime and cycles and reorders
            Instructions as necessary.
            </summary>
            <param name="currentTime">The current time to compare the instruction's TimeToExecute against.</param>
        </member>
        <member name="M:FlatRedBall.PositionedObject.ForceUpdateDependencies">
            <summary>
            Forces an update of the PositionedObject's absolute position and rotation values 
            according to its attachment and relative values.
            </summary>
            <remarks>
            The absolute positions and rotations of Sprites are updated in the 
            Sprite.UpdateDependencies method which is
            called in the SpriteManager.UpdateDependencies.  The SpriteManager.UpdateDependencies is called
            once per frame by default in the Sprite's regular activity.  This method only needs to be called 
            if changes are made after
            the UpdateDependencies method has been called for that particular frame or if updated 
            positions are needed
            immediately after relative values or attachments have been changed.
            
            <para>This method will recur up the hierarchical PositionedObject struture stopping 
            when it hits the top parent.</para>
            </remarks>
        </member>
        <member name="M:FlatRedBall.PositionedObject.GetAllDescendantsOneWay(FlatRedBall.Math.AttachableList{FlatRedBall.PositionedObject})">
            <summary>
            Fills the argument list with the instance's parent, grandparent, etc. recursively.
            </summary>
            <param name="positionedObjects">The list to fill.</param>
        </member>
        <member name="M:FlatRedBall.PositionedObject.Initialize">
            <summary>
            Resets all properties to their default values and clears the ListsBelongingTo property.
            </summary>
        </member>
        <member name="M:FlatRedBall.PositionedObject.Initialize(System.Boolean)">
            <summary>
            Resets all properties to their default values.
            </summary>
            <param name="clearListsBelongingTo">Whether the instance should clear its ListsBelongingTo property.</param>
        </member>
        <member name="M:FlatRedBall.PositionedObject.IsParentOf(FlatRedBall.Math.IAttachable)">
            <summary>
            Determines whether this is a parent (or grandparent of any level) of the argument
            PositionedObject
            </summary>
            <param name="attachable">The PositionedObject to test whether it is lower 
            in the same hiearchical structure.</param>
            <returns>Whether the attachable argument is a child of this instance.</returns>
        </member>
        <member name="M:FlatRedBall.PositionedObject.Pause(FlatRedBall.Instructions.InstructionList)">
            <summary>
            Stops all automatic behavior and stores the necessary instructions to 
            resume activity in the argument InstructionList.
            </summary>
            <param name="instructions">The List to store instructions which are executed to
            resume activity.</param>
        </member>
        <member name="M:FlatRedBall.PositionedObject.RemoveSelfFromListsBelongingTo">
            <summary>
            Removes this instance from all Lists that it shares two-way
            relationships with.
            </summary>
            <remarks>
            FlatRedBall managers use this method in Remove methods.
            </remarks>
        </member>
        <member name="M:FlatRedBall.PositionedObject.ResetRealValues">
            <summary>
            Sets the internal storage of the last frame's position and velocity
            so that the next frame's real velocity and acceleration values will be
            Vector3.Zero.
            </summary>
        </member>
        <member name="M:FlatRedBall.PositionedObject.SetRealValuesFrom(FlatRedBall.PositionedObject)">
            <summary>
            Copies all values related to "Real" values from the argument
            PositionedObject to this instance.
            </summary>
            <param name="positionedObject">The PositionedObject to copy Real values from.</param>
        </member>
        <member name="M:FlatRedBall.PositionedObject.SetRelativeFromAbsolute">
            <summary>
            Uses the object's absolute position and orientation along with its
            Parent's orientation and position to update its relative position and orientation.
            </summary>
        </member>
        <member name="M:FlatRedBall.PositionedObject.TimedActivity(System.Single,System.Double,System.Single)">
            <summary>
            Performs the every-frame position and rotation changing activity.
            </summary>
            <remarks>
            This method does not need to be explicitly called
            for managed objects such as Sprites and collision shapes.
            This method is exposed for custom PositionedObjects which
            are not added to a Manager.
            </remarks>
            <param name="secondDifference">The amount of time since last frame.</param>
            <param name="secondDifferenceSquaredDividedByTwo">Pre-calculated ((secondDifference*secondDifference) ^2) / 2.</param>
            <param name="secondsPassedLastFrame">The last frame secondDifference.</param>
        </member>
        <member name="M:FlatRedBall.PositionedObject.TimedActivityRelative(System.Single,System.Double)">
            <summary>
            Performs the every-frame relative position and relative rotation changing activity.
            </summary>
            <remarks>
            This method does not need to be explicitly called
            for managed objects such as Sprites and collision shapes.
            This method is exposed for custom PositionedObjects which
            are not added to a Manager.
            </remarks>
            <param name="secondDifference">The amount of time since last frame.</param>
            <param name="secondDifferenceSquaredDividedByTwo">Pre-calculated ((secondDifference*secondDifference) ^2) / 2.</param>
        </member>
        <member name="M:FlatRedBall.PositionedObject.ToString">
            <summary>
            Returns a string containing common information about the PositionedObject.
            </summary>
            <returns>The string containing the information about this object.</returns>
        </member>
        <member name="M:FlatRedBall.PositionedObject.UpdateDependencies(System.Double)">
            <summary>
            Updates the absolute position and rotation using relative values and the Parent PositionedObject.
            </summary>
            <remarks>
            This method recurs up the hierarchical chain calling UpdateDependencies so that the entire family of 
            PositionedObjects is positioned appropriately.
            </remarks>
        </member>
        <member name="M:FlatRedBall.PositionedObject.UpdateRotationValuesAccordingToMatrix">
            <summary>
            Sets the absolute rotation values according to the object's RotationMatrix.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.Children">
            <summary>
            The list of PositionedObjects that are attached to this instance.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.ListsBelongingTo">
            <summary>
            The List of IAttachableRemovables (containers) that this shares a two-way relationship with.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.Name">
            <summary>
            The instance's name.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.Parent">
            <summary>
            The PositionedObject that this instance is attached to.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.ParentRotationChangesPosition">
            <summary>
            Whether the parent's rotation should change the object's position.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.ParentRotationChangesRotation">
            <summary>
            Gets and sets whether the parent's rotation should change the object's rotation.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeX">
            <summary>
            Gets and sets the X position relative to the instance's parent.
            </summary>
            <remarks>
            If the instance does not have a parent this property has no effect.
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeY">
            <summary>
            Gets and sets the Y position relative to the instance's parent.
            </summary>
            <remarks>
            If the instance does not have a parent this property has no effect.
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeZ">
            <summary>
            Gets and sets the Z position relative to the instance's parent.
            </summary>
            <remarks>
            If the instance does not have a parent this property has no effect.
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeXVelocity">
            <summary>
            Gets and sets the rate of change of the RelativeX property in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeYVelocity">
            <summary>
            Gets and sets the rate of change of the RelativeY property in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeZVelocity">
            <summary>
            Gets and sets the rate of change of the RelativeZ property in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeXAcceleration">
            <summary>
            Gets and sets the rate of change of the RelativeXVelocity property in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeYAcceleration">
            <summary>
            Gets and sets the rate of change of the RelativeYVelocity property in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeZAcceleration">
            <summary>
            Gets and sets the rate of change of the RelativeZVelocity property in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeRotationX">
            <summary>
            Gets and sets the rotation on the X axis relative to the instance's parent.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeRotationY">
            <summary>
            Gets and sets the rotation on the Y axis relative to the instance's parent.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeRotationZ">
            <summary>
            Gets and sets the rotation on the Z axis relative to the instance's parent.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeRotationMatrix">
            <summary>
            The rotation representing the orientation relative to the instance's Parent.
            </summary>
            <remarks>
            If the instance does not have a Parent then this property has no effect.
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeRotationXVelocity">
            <summary>
            Gets and sets the rate of change of the RelativeRotationX property in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeRotationYVelocity">
            <summary>
            Gets and sets the rate of change of the RelativeRotationY property in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeRotationZVelocity">
            <summary>
            Gets and sets the rate of change of the RelativeRotationZ property in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.LastDependencyUpdate">
            <summary>
            The last time Update was called.
            </summary>
            <remarks>
            This value is set through the TimeManager's CurrentTime property.
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RotationX">
            <summary>
            The x rotation of a PositionedObject
            </summary>
            <remarks>
            This rotates the PositionedObject about the X axis.  Rotation is represented in 
            radians.  Angles will always be greater than or equal to 0 and less than
            two times PI.  Values outside of these bounds will be regulated by the
            set property.
            
            RotationX can be used to flip an image of a PositionedObject, but a PositionedObject should not 
            be flipped during animation (if it is a Sprite).  AnimationFrames can be flipped without 
            setting a Sprite's Rotation values.
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RotationY">
            <summary>
            The y rotation of a PositionedObject
            </summary>
            <remarks>
            This rotates the PositionedObject about the Y axis.  Rotation is represented in 
            radians.  Angles will always be greater than or equal to 0 and less than
            two times PI.  Values outside of these bounds will be regulated by the
            set property.
            
            RotationY can be used to flip an image and set it upside down, but a PositionedObject
            should not be flipped during animation (if it is a Sprite).  AnimationFrames can be flipped without
            setting a Sprite's Rotation values.
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RotationZ">
            <summary>
            The z rotation of a PositionedObject
            </summary>
            <remarks>
            This rotates the PositionedObject about the Z axis.  Rotation is represented in 
            radians.  Angles will always be greater than or equal to 0 and less than
            two times PI.  Values outside of these bounds will be regulated by the
            set property.
            
            RotationZ can be used to "spin" a PositionedObject, with a positive variable spinning
            clockwise.  
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RotationMatrix">
            <summary>
            The matrix applied to the object resulting in its final orientation.
            </summary>
            <remarks>
            The RotationMatrix and RotationX, RotationY, RotationZ reflect eachother.  Changing one will change the other.
            <seealso cref="P:FlatRedBall.PositionedObject.RotationX"/>
            <seealso cref="P:FlatRedBall.PositionedObject.RotationY"/>
            <seealso cref="P:FlatRedBall.PositionedObject.RotationZ"/>
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.TransformationMatrix">
            <summary>
            Gets or sets the overall transformation of this object
            </summary>
            <remarks>
            Changing the transformation matrix will change rotation, position and scaling
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RelativeTransformationMatrix">
            <summary>
            Gets or sets the overall transformation of this object, relative to its parent
            </summary>
            <remarks>
            Changing the transformation matrix will change rotation, position and scaling
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RotationXVelocity">
            <summary>
            The absolute X rotation speed measured in radians per second
            </summary>
            <remarks>
            The RotationXVelocity variable is how fast a PositionedObject is rotating on the X axis. It is
            measured in radians per second.
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RotationYVelocity">
            <summary>
            The absolute Y rotation speed measured in radians per second
            </summary>
            <remarks>
            The RotationYVelocity variable is how fast a PositionedObject is rotating on the Y axis. It is
            measured in radians per second.
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.RotationZVelocity">
            <summary>
            The absolute Z rotation speed measured in radians per second
            </summary>
            <remarks>
            The RotationZVelocity variable is how fast a PositionedObject is rotating on the Z axis. It is
            measured in radians per second.
            </remarks>
            
        </member>
        <member name="P:FlatRedBall.PositionedObject.TopParent">
            <summary>
            Returns the top node in the attachment hierarchical relationship
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.X">
            <summary>
            The absolute X position.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.Y">
            <summary>
            The absolute Y position.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.Z">
            <summary>
            The absolute Z position.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.XVelocity">
            <summary>
            Gets and sets the absolute X Velocity.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.YVelocity">
            <summary>
            Gets and sets the absolute Y Velocity.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.ZVelocity">
            <summary>
            Gets and sets the absolute Z Velocity.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.XAcceleration">
            <summary>
            Gets and sets the absolute X Acceleration.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.YAcceleration">
            <summary>
            Gets and sets the absolute Y Acceleration.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.ZAcceleration">
            <summary>
            Gets and sets the absolute Z Acceleration.  Meausred in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.KeepTrackOfReal">
            <summary>
            Whether the PositionedObject's RealVelocity and RealAcceleration are
            updated every frame.
            </summary>
        </member>
        <member name="P:FlatRedBall.PositionedObject.Drag">
            <summary>
            Linear approximation of drag.  This reduces the Velocity of the
            instance according to its absolute Velocity.  
            </summary>
            <remarks>
            The following formula is applied to apply Drag:
            <para>
            Velocity -= Velocity * Drag * TimeManager.SecondDifference;
            
            </para>
            </remarks>
        </member>
        <member name="P:FlatRedBall.PositionedObject.Instructions">
            <summary>
            The list of Instructions that this instance owns.  These instructions usually
            will execute on this instance; however, this is not a requirement.
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.PositionedSound.Play">
            <summary>
            Begins playback of this sound, or resumes playback (if it has been paused)
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.PositionedSound.Pause">
            <summary>
            Pauses playback of this sound
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.PositionedSound.Stop">
            <summary>
            Stops playing this sound immediately
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.PositionedSound.StopAsAuthored">
            <summary>
            Stops playing this sound as authored in the XACT project
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.PositionedSound.StopImmediately">
            <summary>
            Stops playing this sound immediately
            </summary>
        </member>
        <member name="P:FlatRedBall.Audio.PositionedSound.DopplerScale">
            <summary>
            Gets or sets a scalar applied to the level of Doppler effect calculated
            between this sound and a listener.
            </summary>
        </member>
        <member name="T:FlatRedBall.Audio.SoundVariableCollection">
            <summary>
            Used to manage variables in a sound
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.Sound.Play">
            <summary>
            Begins playback of this sound, or resumes playback (if it has been paused)
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.Sound.Pause">
            <summary>
            Pauses playback of this sound
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.Sound.Stop">
            <summary>
            Stops playing this sound as authored
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.Sound.StopImmediately">
            <summary>
            Stops playing this sound immediately
            </summary>
        </member>
        <member name="M:FlatRedBall.Audio.Sound.StopAsAuthored">
            <summary>
            Stops playing this sound as authored in the XACT project
            </summary>
        </member>
        <member name="M:FlatRedBall.Camera.FixAspectRatioYConstant">
            <summary>
            Sets the aspectRatio to match the width/height of the area that the camera is drawing to.
            </summary>
            <remarks>
            This is usually used in applications with split screen or when on a widescreen display.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Camera.IsXInView(System.Double,System.Double)">
            <summary>
            Determines if the X value is in view, assuming the camera is viewing down the Z axis.
            </summary>
            <remarks>
            Currently, this method assumes viewing down the Z axis.
            </remarks>
            <param name="x">The absolute X position of the point.</param>
            <param name="absoluteZ">The absolute Z position of the point.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Camera.IsYInView(System.Double,System.Double)">
            <summary>
            Determines if the Y value is in view, assuming the camera is viewing down the Z axis.
            </summary>
            <remarks>
            Currently, this method assumes viewing down the Z axis.
            </remarks>
            <param name="y">The absolute Y position of the point.</param>
            <param name="absoluteZ">The absolute Z position of the point.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Camera.PixelsPerUnitAt(System.Single)">
            <summary>
            Returns the number of pixels per unit at the given absolute Z value.  Assumes
            that the Camera is unrotated.
            </summary>
            <remarks>
            If using the PixelsPerUnitAt for a rotated camera, use the overload which
            takes a Vector3 argument.
            </remarks>
            <param name="absoluteZ">The absolute Z position.</param>
            <returns>The number of pixels per world unit (perpendicular to the camera's forward vector).</returns>
        </member>
        <member name="M:FlatRedBall.Camera.UsePixelCoordinates(System.Boolean,System.Int32,System.Int32)">
            <summary>
            Sets the camera to Orthogonal, sets the OrthogonalWidth and
            OrthogonalHeight to match the argument values, and can move the
            so the bottom-left corner of the screen is at the origin.
            </summary>
            <param name="moveCornerToOrigin">Whether the camera should be repositioned
            so the bottom left is at the origin.</param>
            <param name="desiredWidth">The desired unit width of the view.</param>
            <param name="desiredHeight">The desired unit height of the view.</param>
        </member>
        <member name="F:FlatRedBall.Camera.mLightingEnabled">
            <summary>
            Whether or not lighting is enabled for this camera
            </summary>
        </member>
        <member name="M:FlatRedBall.Camera.AddLayer(FlatRedBall.Graphics.Layer)">
            <summary>
            Adds a layer to the Camera.  This method does not remove layers that already 
            exist in the SpriteManager.
            </summary>
            <param name="layerToAdd">The layer to add.</param>
        </member>
        <member name="M:FlatRedBall.Camera.AddSpriteToBillboard(FlatRedBall.Sprite)">
            <summary>
            Supplied sprites are billboarded using the camera's RotationMatrix.
            </summary>
        </member>
        <member name="M:FlatRedBall.Camera.AddSpriteToBillboard(System.Collections.Generic.IEnumerable{FlatRedBall.Sprite})">
            <summary>
            Supplied Sprites are billboarded using the camera's RotationMatrix.
            </summary>
        </member>
        <member name="M:FlatRedBall.Camera.ClearBorders">
            <summary>
            Removes all visibility borders.
            <seealso cref="M:FlatRedBall.Camera.SetBordersAtZ(System.Single,System.Single,System.Single,System.Single,System.Single)"/>
            </summary>
        </member>
        <member name="M:FlatRedBall.Camera.KeepSpriteInScreen(FlatRedBall.Sprite)">
            <summary>
            Moves a Sprite so that it remains fully in the camera's view.
            </summary>
            <remarks>
            This method does not consider Sprite rotation, negative scale, or situations 
            when the camera is not looking down the Z axis.
            </remarks>
            <param name="sprite">The Sprite to keep in view.</param>
        </member>
        <member name="M:FlatRedBall.Camera.PositionRandomlyInView(FlatRedBall.Math.IPositionable,System.Single,System.Single)">
            <summary>
            Positiones the argument positionable randomly in camera between the argument bounds.
            </summary>
            <remarks>
            Assumes the camera is viewing down the Z plane - it is unrotated.
            </remarks>
            <param name="positionable">The object to reposition.</param>
            <param name="minimumDistanceFromCamera">The closest possible distance from the camera.</param>
            <param name="maximumDistanceFromCamera">The furthest possible distance from the camera.</param>
        </member>
        <member name="M:FlatRedBall.Camera.RemoveLayer(FlatRedBall.Graphics.Layer)">
            <summary>
            Removes the argument Layer from this Camera.  Does not empty the layer or
            remove contained objects from their respective managers.
            </summary>
            <param name="layerToRemove">The layer to remove</param>
        </member>
        <member name="M:FlatRedBall.Camera.SetBordersAtZ(System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Sets the visible borders when the camera is looking down the Z axis.
            </summary>
            <remarks>
            This sets visibility ranges for the camera.  That is, if the camera's maximumX is set to 100 at a zToSetAt of 
            0, the camera will never be able to see the point x = 101, z = 0.  The camera imposes these limitations 
            by calculating the actual minimum and maximum values according to the variables passed.  Also, 
            the camera keeps track of these visible limits and readjusts the mimimum and maximum values 
            when the camera moves in the z direction. Therefore, it is only necessary to set these 
            values once, and the camera will remeber that these are the visibility borders, regardless of 
            its position.  It is important to note that the visiblity borders can be violated if they are too 
            close together - if a camera moves so far back that its viewable area at the set Z is greater than 
            the set minimumX and maximumX range, the camera will show an area outside of this range.
            <seealso cref="M:FlatRedBall.Camera.ClearBorders"/>
            </remarks>
            <param name="minimumX">The minimum x value of the visiblity border.</param>
            <param name="minimumY">The minimum y value of the visiblity border.</param>
            <param name="maximumX">The maximum x value of the visiblity border.</param>
            <param name="maximumY">The maximum y value of the visiblity border.</param>
            <param name="zToSetAt">The z value of the plane to use for the visibility border.</param>
        </member>
        <member name="M:FlatRedBall.Camera.SetCameraTo(FlatRedBall.Camera)">
            <summary>
            Copies all fields from the argument to the camera instance.
            </summary>
            <remarks>
            This method will not copy the name, InstructionArray, or children PositionedObjects 
            (objects attached to the cameraToSetTo).
            </remarks>
            <param name="cameraToSetTo">The camera to clone.</param>
        </member>
        <member name="M:FlatRedBall.Camera.SetSplitScreenViewport(FlatRedBall.Camera.SplitScreenViewport)">
            <summary>
            Sets the viewport for this camera to a standard split-screen viewport
            </summary>
            <param name="viewport">The viewport to use for this camera</param>
        </member>
        <member name="M:FlatRedBall.Camera.CalculateMaxAndMins">
            <summary>
            Calculates the minimum and maximum X values for the camera based off of its
            base values (such as mBaseMaximumX) and its current view
            </summary>
        </member>
        <member name="M:FlatRedBall.Camera.UpdateDestinationRectangle">
            <summary>
            Updates the destination rectangle (for the viewport).  Also fixes the aspect ratio.
            </summary>
        </member>
        <member name="P:FlatRedBall.Camera.TopDestination">
            <summary>
            Gets and sets the top side of the destination rectangle (where on the window
            the camera will display).  Measured in pixels.  Destination uses an inverted Y (positive points down).
            </summary>
        </member>
        <member name="P:FlatRedBall.Camera.BottomDestination">
            <summary>
            Gets and sets the bottom side of the destination rectangle (where on the window
            the camera will display).  Measured in pixels.   Destination uses an inverted Y (positive points down).
            </summary>
        </member>
        <member name="P:FlatRedBall.Camera.LeftDestination">
            <summary>
            Gets and sets the left side of the destination rectangle (where on the window
            the camera will display).  Measured in pixels.
            </summary>
        </member>
        <member name="P:FlatRedBall.Camera.RightDestination">
            <summary>
            Gets and sets the right side of the destination rectangle (where on the window
            the camera will display).  Measured in pixels.
            </summary>
        </member>
        <member name="P:FlatRedBall.Camera.DestinationRectangle">
            <summary>
            Represents the top left justified area the Camera will draw over.
            </summary>
            <remarks>
            This represents the area in pixel coordinates that the camera will display relative
            to the top left of the owning Control.  If the Control is resized, the camera should modify
            its DestinationRectangle to match the new area.
            
            <para>
            Multiple cameras with different DestinationRectangles can be used to display split screen
            or picture-in-picture.
            </para>
            </remarks>
        </member>
        <member name="P:FlatRedBall.Camera.AspectRatio">
            <summary>
            The width/height of the view of the camera
            </summary>
            <remarks>
            This determines the ratio of the width to height of the camera.  By default, the aspect ratio is 4/3,
            but this should be changed for widescreen monitors or in situations using multiple cameras.  For example, if
            a game is in split screen with a vertical split, then each camera will show the same height, but half the width.
            The aspect ratio should be 2/3.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Camera.DrawsCameraLayer">
            <summary>
            Whether the camera draws its layers.
            </summary>
        </member>
        <member name="P:FlatRedBall.Camera.DrawsWorld">
            <summary>
            Whether the Camera draws world objects (objects not on the Camera's Layer)
            </summary>
        </member>
        <member name="P:FlatRedBall.Camera.DrawsShapes">
            <summary>
            Whether the Camera draws shapes
            </summary>
        </member>
        <member name="P:FlatRedBall.Camera.FieldOfView">
            <summary>
            The Y field of view of the camera in radians.  Field of view represents the 
            Y angle from the bottom of the screen to the top.
            </summary>
            <remarks>
            This modifies the xEdge and yEdge properties.  Default value is (float)Math.PI / 4.0f;
            </remarks>
        </member>
        <member name="P:FlatRedBall.Camera.Layer">
            <summary>
            A Camera-specific layer.  Objects on this layer will not appear
            in any other cameras.
            </summary>
            <remarks>
            This instance is automatically created when the Camera is instantiated.
            </remarks>
        </member>
        <member name="T:FlatRedBall.CodeGeneration.SaveClassOptions">
            <summary>
            A class containing options used when programatically generating a "Save" class.
            </summary>
            <remarks>
            <seealso cref="T:FlatRedBall.CodeGeneration.SaveClassCodeGenerator"/>
            </remarks>
        </member>
        <member name="T:FlatRedBall.Content.AI.Pathfinding.LinkSave">
            <summary>
            An XML-Serializable object representing the state of a Link.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.AI.Pathfinding.PositionedNodeSave">
            <summary>
            Save class for the PositionedNode class.  This class is used in the
            .nntx (Node Network XML) file type.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.AnimationChainListReader">
            <summary>
            Reader class used in the FlatRedBall Content Pipeline to convert compiled
            AnimationChainLists to the runtime instances.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.AnimationChain.AnimationChainListSaveBase`1">
            <summary>
            Base class for AnimationChainListSave and AnimationChainListSaveContent.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.AnimationChain.AnimationChainListSave.FromAnimationChainList(FlatRedBall.Graphics.Animation.AnimationChainList)">
            <summary>
            Create a "save" object from a regular animation chain list
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.AnimationChain.AnimationChainSaveBase`1">
            <summary>
            The base class for AnimationChainSave and AnimationChainSaveContent.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationChainSaveBase`1.ParentFile">
            <summary>
            This is used if the AnimationChain actually comes from 
            a file like a .gif.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase">
            <summary>
            The base class for AnimationFrameSave and AnimationFrameSaveContent.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase.FlipHorizontal">
            <summary>
            Whether the texture should be flipped horizontally.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase.FlipVertical">
            <summary>
            Whether the texture should be flipped on the vertidally.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase.TextureName">
            <summary>
            Used in XML Serialization of AnimationChains - this should
            not explicitly be set by the user.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase.FrameLength">
            <summary>
            The amount of time in seconds the AnimationFrame should be shown for.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase.LeftCoordinate">
            <summary>
            The left coordinate in texture coordinates of the AnimationFrame.  Default is 0.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase.RightCoordinate">
            <summary>
            The right coordinate in texture coordinates of the AnimationFrame.  Default is 1.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase.TopCoordinate">
            <summary>
            The top coordinate in texture coordinates of the AnimationFrame.  Default is 0.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase.BottomCoordinate">
            <summary>
            The bottom coordinate in texture coordinates of the AnimationFrame.  Default is 1.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase.RelativeX">
            <summary>
            The relative X position of the object that is using this AnimationFrame.  This
            is only applied if the IAnimationChainAnimatable's UseAnimationRelativePosition is
            set to true.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.AnimationChain.AnimationFrameSaveBase.RelativeY">
            <summary>
            The relative Y position of the object that is using this AnimationFrame.  This
            is only applied if the IAnimationChainAnimatable's UseAnimationRelativePosition is
            set to true.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.ContentLoadBatch">
            <summary>
            ContentLoadBatch allows for batch loading of resources through the Content Pipeline as well as from file. Loading can be asynchronous if
            specified by using the LoadAsync method.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.ContentManager.RemoveDisposable(System.IDisposable)">
            <summary>
            Removes an IDisposable from the ContentManager.  This method does not call Dispose on the argument Disposable.  It 
            must be disposed 
            </summary>
            <param name="disposable">The IDisposable to be removed</param>
        </member>
        <member name="T:FlatRedBall.Content.CsvReader">
            <summary>
            This class will be instantiated by the XNA Framework Content
            Pipeline to read the specified data type from binary .xnb format.
            
            Unlike the other Content Pipeline support classes, this should
            be a part of your main game project, and not the Content Pipeline
            Extension Library project.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.EffectParameterListReader">
            <summary>
            This class will be instantiated by the XNA Framework Content
            Pipeline to read the specified data type from binary .xnb format.
            
            Unlike the other Content Pipeline support classes, this should
            be a part of your main game project, and not the Content Pipeline
            Extension Library project.
            </summary>
        </member>
        <member name="T:FlatRedBall.Attributes.InstanceMember">
            <summary>
            Matches the marked member with the member to set when this instance is loaded through
            the content pipeline.  This attribute is usually applied to ExternalReference objects.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Instructions.AnimationSequenceSave">
            <summary>
            Save class which stores AnimationSequence information.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.Instructions.InstructionSetSave.mFileName">
            <summary>
            The file that this InstructionSetSave was deserialized from.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Instructions.InstructionSetSaveList">
            <summary>
            An XML serializable list of InstructionSetSaves.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Instructions.KeyframeSave">
            <summary>
            Save class for a Keyframe (A list of Instructions).
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Instructions.Reflection.MemberConditionSave`1">
            <summary>
            A savable class containing the information for a MemberCondition.
            </summary>
            <typeparam name="PropertyType">The type of the property to be compared.</typeparam>
        </member>
        <member name="T:FlatRedBall.Content.Instructions.TimedKeyframeListSave">
            <summary>
            A savable reference to a TimedKeyframe.  This does not actually store the contents
            of the TimedKeyframe; instead it stores a string reference.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Lighting.SpotLightSave">
            <summary>
            Save class storing SpotLight information
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.LightReader">
            <summary>
            This class will be instantiated by the XNA Framework Content
            Pipeline to read the specified data type from binary .xnb format.
            
            Unlike the other Content Pipeline support classes, this should
            be a part of your main game project, and not the Content Pipeline
            Extension Library project.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.MemberMapping">
            <summary>
            Delegate representing the method that is to be called for a property to be mapped.
            This can be applied by specific type or by generic type.
            </summary>
            <param name="objectInfo">The member info of the object being mapped.</param>
            <param name="objectValue">The instance being mapped.</param>
        </member>
        <member name="T:FlatRedBall.Content.MaterialReader">
            <summary>
            This class will be instantiated by the XNA Framework Content
            Pipeline to read the specified data type from binary .xnb format.
            
            Unlike the other Content Pipeline support classes, this should
            be a part of your main game project, and not the Content Pipeline
            Extension Library project.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Math.Geometry.ShapeCollectionSave.FromFile(System.String)">
            <summary>
            Deserializes a file into a new ShapeCollectionSave and returns it.
            </summary>
            <param name="fileName">The absolute or relative file name. If the file name is relative, then the FileManager's RelativeDirectory will be used.</param>
            <returns>The newly-created ShapeCollectionSave.</returns>
        </member>
        <member name="T:FlatRedBall.Content.Math.Splines.SplineSave">
            <summary>
            A savable representation of a Spline.  This is used in SplineSaveLists.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Math.Splines.SplineSaveList">
            <summary>
            Save class for lists of Splines. 
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.MaterialSaveBase">
            <summary>
            Represents the base class for saving material information.
            </summary>
            <remarks>
            This class is used as the base class for the MaterialSave class.  This is used 
            as the base class for MaterialSave (runtime save class) and MaterialSaveContent 
            (content pipeline class).
            </remarks>
        </member>
        <member name="F:FlatRedBall.Content.Model.MaterialSaveBase.EffectFiles">
            <summary>
            The ordered list of effects to apply to Models.
            </summary>
            <remarks>
            The ordering is performed by Mesh and by MeshPart.  That is, if there were
            a PositionedModel with multiple Meshes and multiple MeshParts per mesh, then
            the application might go as follows:
            
            model.Mesh[0].MeshPart[0].Effect = EffectFrom(EffectFiles[0]);
            model.Mesh[0].MeshPart[1].Effect = EffectFrom(EffectFiles[1]);
            model.Mesh[1].MeshPart[0].Effect = EffectFrom(EffectFiles[2]);
            model.Mesh[1].MeshPart[1].Effect = EffectFrom(EffectFiles[3]);
            model.Mesh[1].MeshPart[2].Effect = EffectFrom(EffectFiles[4]);
            // And so on
            <seealso cref="M:FlatRedBall.Content.Model.MaterialSave.ApplyToModel(Microsoft.Xna.Framework.Graphics.Model,System.String)"/>
            </remarks>
        </member>
        <member name="F:FlatRedBall.Content.Model.MaterialSaveBase.EffectParameterFiles">
            <summary>
            The ordered list of EffectParameterLists to apply.
            </summary>
            <remarks>
            See the EffectFiles documentation for an example of the order in which
            the EffectParameterFiles are applied.
            <seealso cref="M:FlatRedBall.Content.Model.MaterialSave.ApplyToModel(Microsoft.Xna.Framework.Graphics.Model,System.String)"/>
            </remarks>
        </member>
        <member name="F:FlatRedBall.Content.Model.MaterialSaveBase.FileName">
            <summary>
            The .matx file that this instance was created from if created from a file.
            </summary>
            <remarks>
            The MaterialSaveBase stores its source file name so that it can re-save itself
            easily if it is embedded in another file like a .scnx file.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Content.Model.ModelMaterial.#ctor">
            <summary>
            Model Material Desicribes the Material to use for a Model Mesh Part.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.ModelMaterial.#ctor(System.String,Microsoft.Xna.Framework.Color,Microsoft.Xna.Framework.Color,Microsoft.Xna.Framework.Color,System.Single,System.Single)">
            <summary>
            Model Material Desicribes the Material to use for a Model Mesh Part.
            </summary>
            <param name="textureFileName">The texture file name of the location of the texture to use</param>
            <param name="diffuseColor">The diffuse color to use when no Texture is to be used.</param>
            <param name="specularColor">The Color of the specular highlighting</param>
            <param name="emissiveColor">The Color of the ModelMesh part will emit</param>
            <param name="specularPower">The amount of Specular Color to Show.</param>
            <param name="glossiness">How "Shiny" the specularity will be.</param>
        </member>
        <member name="P:FlatRedBall.Content.Model.ModelMaterial.TextureFileName">
            <summary>
            The File name and location of the texture file to use, when setting the Texture on the 
            ModelMeshes Default Effect.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.ModelMaterial.DiffuseColor">
            <summary>
            The Default Diffuse Color to use, when No Texture is Available for the Mesh Part.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.ModelMaterial.SpecularColor">
            <summary>
            The Default Specular Color to use.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.ModelMaterial.EmissiveColor">
            <summary>
            The Default Emissive Color to use.
            </summary>        
        </member>
        <member name="P:FlatRedBall.Content.Model.ModelMaterial.SpecularPower">
            <summary>
            The Amount of power to force the Specular Color to use, within the ModelMeshes Default Effect.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.ModelMaterial.Glossiness">
            <summary>
            The Shininess of the Specular Color within the ModelMeshes Default Effect.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.ModelMaterial.Material_ID">
            <summary>
            The Material ID, that is within the Models Effect Collection
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.ModelMeshSave">
            <summary>
            Save class for information about ModelMeshes. This contains a list of ModelMeshPartSaves.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.NodeNetworkReader">
            <summary>
            Class used to read a NodeNetwork through the content pipeline.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.ObjectMapper">
            <summary>
            Used to perform methods defined in a MappingMethods class on properties within a class.
            </summary>
            <remarks>
            The ObjectMapper can be used to perform tasks like code generation and serialization of objects.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Content.ObjectMapper.MapObject(System.Object,FlatRedBall.Content.MappingMethods)">
            <summary>
            Pass an object and a MappingMethods and MapObject will map each member in that object to the corresponding
            method from the mappingMethods.
            </summary>
            <param name="objectToMap">object whose members will be called on.</param>
            <param name="mappingMethods">MappingMethods which has dictionaries of members/methods.</param>
        </member>
        <member name="T:FlatRedBall.Content.ObjectReader">
            <summary>
            Class used by the FlatRedBall pipeline to read in XNBs.
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Particle.EmissionSettingsSave">
            <summary>
            Save class for the EmissionSettings class.  This class is used
            in the .emix (Emitter XML) file.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Particle.EmitterSaveBase`1">
            <summary>
            Base class for EmitterSave and EmitterSaveContent.
            </summary>
            <typeparam name="T">The type for the ParticleBlueprint.  This should be or inherit SpriteSaveBase.</typeparam>
        </member>
        <member name="F:FlatRedBall.Content.Particle.EmitterSaveBase`1.FileName">
            <summary>
            Stores the source .emix file name.  This 
            is set if an EmitterSaveList is loaded from file.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Particle.EmitterSaveList.GetReferencedFiles(FlatRedBall.IO.RelativeType)">
            <summary>
            Returns a List of files referenced by this.
            </summary>
            <param name="relativeType">Whether the files should be absolute or relative.</param>
            <returns>The list of referenced files.</returns>
        </member>
        <member name="T:FlatRedBall.Content.PolygonListReader">
            <summary>
            This class will be instantiated by the XNA Framework Content
            Pipeline to read the specified data type from binary .xnb format.
            
            Unlike the other Content Pipeline support classes, this should
            be a part of your main game project, and not the Content Pipeline
            Extension Library project.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Saves.BitmapFontSave">
            <summary>
            Save class storing information for a BitmapFont.  
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Saves.HeightMapSave">
            <summary>
            The "save" class for HeightMaps used for XML serialization/deserialization.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Saves.TextSave">
            <summary>
            An XML Serializable class representing the state of a Text.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Saves.TextSaveBase">
            <summary>
            Base class for TextSave and TextSaveContent.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.SceneReader">
            <summary>
            Class used to read Scenes from XNB files.  This class is used when 
            loading Scenes through the content pipeline.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Scene.CameraSave">
            <summary>
            An XML serializable "Save" class which can be included in other Save classes to store Camera information.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.Scene.CameraSave.X">
            <summary>
            The absolute X position.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.Scene.CameraSave.Y">
            <summary>
            The absolute Y position.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.Scene.CameraSave.Z">
            <summary>
            The absolute Z position.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.Scene.CameraSave.Orthogonal">
            <summary>
            Whether the Camera is using an orthogonal projection matrix.  If this is false, the Camera is using a perspective projection matrix.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.Scene.CameraSave.OrthogonalHeight">
            <summary>
            The orthogonal height of the camera's view.  
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Scene.CameraSave.#ctor">
            <summary>
            Creates a new CameraSave.  This is used by the XmlSerializer when deserializing an XML.
            Usually CameraSaves are created using the FromCamera static method.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Scene.CameraSave.FromCamera(FlatRedBall.Camera)">
            <summary>
            Creates a new CameraSave instance using members from the passed Camera argument.
            </summary>
            <param name="camera">The Camera to copy properties from.</param>
        </member>
        <member name="M:FlatRedBall.Content.Scene.CameraSave.SetCamera(FlatRedBall.Camera)">
            <summary>
            Sets the argument Camera's properties to the properties stored in this CameraSave.
            </summary>
            <remarks>
            Usually "Save" classes include a To[RuntimeType] method.  The CameraSave does not follow
            this pattern because it's most common that a CameraSave is loaded when a Camera is already
            created by the engine.  In this case, it's not very convenient to have to destroy the existing
            Camera and replace it by a new instance.  Instead, the SetCamera method will simply set the properties
            on an existing Camera
            </remarks>
            <param name="camera">The Camera to set the properties on.</param>
        </member>
        <member name="T:FlatRedBall.Content.SpriteEditorScene">
            <summary>
            This is the class that is serialized and deserialized to/from the XML file representing a scene.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.SpriteEditorSceneBase`5.DynamicSpriteList">
            <summary>
            DynamicSpriteList for compatability with FlatRedBall Managed DirectX.
            </summary>
            <remarks>
            The DynamicSpriteList and SpriteList will be combined into one list later
            in the content pipeline.
            </remarks>
        </member>
        <member name="T:FlatRedBall.Content.ShapeCollectionReader">
            <summary>
            This class will be instantiated by the XNA Framework Content
            Pipeline to read the specified data type from binary .xnb format.
            
            Unlike the other Content Pipeline support classes, this should
            be a part of your main game project, and not the Content Pipeline
            Extension Library project.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.SourceReferencingFile">
            <summary>
            Class that defines a source and destination file relationship.  This can be used
            by tools (such as Glue) which maintain the source/destination relationship between files.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.SourceReferencingFile.SourceFile">
            <summary>
            The source file - the file which will be built to create the destination.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.SourceReferencingFile.DestinationFile">
            <summary>
            The destination file - the file which will be created when the source is built.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.SourceReferencingFile.#ctor">
            <summary>
            Instantiates a new SourceReferencingFile instance.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.SourceReferencingFile.#ctor(System.String,System.String)">
            <summary>
            Instantiates a new SourceReferencingFile instance using the argument source and destination files.
            </summary>
            <param name="sourceFile">The source file name to use.</param>
            <param name="destinationFile">The destination file name to use.</param>
        </member>
        <member name="T:FlatRedBall.Content.SpriteFrame.SpriteFrameSaveBase`1">
            <summary>
            Serves as the base class for SpriteFrameSave and SpriteFrameSaveContent.
            </summary>
            <typeparam name="T">The type of the ParentSprite.  This is generic because
            for SpriteFrameSave the generic type is SpriteSave, but for SpriteFrameSaveContent the
            generic type is SpriteSaveContent.</typeparam>
        </member>
        <member name="F:FlatRedBall.Content.SpriteFrame.SpriteFrameSaveBase`1.BorderSides">
            <summary>
            The BorderSides that this instance represents.
            </summary>
            <remarks>
            <seealso cref="T:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides"/>
            </remarks>
        </member>
        <member name="F:FlatRedBall.Content.SpriteFrame.SpriteFrameSaveBase`1.ParentSprite">
            <summary>
            The SpriteSaveBase that stores most of the Properties for the SpriteSave.
            </summary>
            <remarks>
            The SpriteSaveBase is used as a storage of properties because nearly all of its
            properties are also used by SpriteFrames.  Therefore, to prevent a lot of copy/paste,
            this class is used to store properties.
            </remarks>
        </member>
        <member name="T:FlatRedBall.Content.SpriteGrid.SpriteGridSaveBase`1">
            <summary>
            Base class for SpriteGridSave and SpriteGridSaveContent.
            </summary>
            <typeparam name="T">The type of the blueprint.</typeparam>
        </member>
        <member name="F:FlatRedBall.Content.SpriteGrid.SpriteGridSaveBase`1.Axis">
            <summary>
            Specifies the grid to use.
            </summary>
            <remarks>
            If the grid is 'y', use an XY grid.  Otherwise an XZ.
            </remarks>
        </member>
        <member name="F:FlatRedBall.Content.SpriteGrid.SpriteGridSaveBase`1.Name">
            <summary>
            The name of the SpriteGridSave.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.SpriteGrid.SpriteGridSaveBase`1.mFileName">
            <summary>
            This is used by the content pipeline to know which directory to look in
            for Textures.  Otherwise this variable is unused.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.PoseChainSave.#ctor">
            <summary>
            Constructs a new PoseChain.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.PoseChainSave.AddPose(FlatRedBall.ManagedSpriteGroups.Pose)">
            <summary>
            Appends the argument Pose to the PoseChain then sorts the contained Poses by time.
            </summary>
            <param name="poseToAdd">The pose to add</param>
            <returns>The index of the newly-added pose.</returns>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.PoseChainSave.GetPose(System.Int32)">
            <summary>
            [OBSOLETE] Gets the pose at the argument index.
            </summary>
            <param name="i">The index of the pose to get.</param>
            <returns>The pose at the argument index.</returns>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.PoseChainSave.IndexOf(FlatRedBall.ManagedSpriteGroups.Pose)">
            <summary>
            Returns the number of Poses in the current PoseChain.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.PoseChainSave.InsertPose(System.Int32,FlatRedBall.ManagedSpriteGroups.Pose)">
            <summary>
            Inserts a pose at the argument Index.
            </summary>
            <remarks>
            Unlike the Add method, this method does not sort the
            PoseChain after the addition.  However, if Add is called
            at a later time the PoseChain will be sorted.
            </remarks>
            <param name="index">The index where the pose should be inserted.</param>
            <param name="poseToInsert">The pose to insert.</param>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.PoseChainSave.RemovePose(FlatRedBall.ManagedSpriteGroups.Pose)">
            <summary>
            Removes the argument Pose from the PoseChain.
            </summary>
            <param name="poseToRemove">The pose to be removed.</param>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.PoseChainSave.Sort">
            <summary>
            Sorts the contained Poses by their time.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.PoseChainSave.ToString">
            <summary>
            Returns information about the PoseChain.
            </summary>
            <returns>The string info about the argument PoseChain.</returns>
        </member>
        <member name="P:FlatRedBall.Content.SpriteRig.PoseChainSave.Item(System.Int32)">
            <summary>
            Provides indexer access to the contained Poses.
            </summary>
            <param name="index">The index of the Pose to get.</param>
            <returns>The pose at the specified index.</returns>
        </member>
        <member name="P:FlatRedBall.Content.SpriteRig.PoseChainSave.Count">
            <summary>
            Gets the number of Poses contained in the PoseChain.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.SpriteRig.PoseChainSave.Poses">
            <summary>
            Provides access to the contained Poses.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.SpriteRig.PoseChainSave.Name">
            <summary>
            The Name of the PoseChain.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.SpriteRig.PoseChainSave.TimeAnimationStarted">
            <summary>
            The game time in systems when the Animation has been started.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.SpriteRig.PoseChainSave.TotalLength">
            <summary>
            Gets total length in seconds of the PoseChain.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.SpriteRig.SpriteRigReader">
            <summary>
            Reader class used in the FlatRedBall Content Pipeline to convert compiled
            SpriteRigs to the runtime instances.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.SpriteRigReader.Read(Microsoft.Xna.Framework.Content.ContentReader,FlatRedBall.ManagedSpriteGroups.SpriteRig)">
            <summary>
            Reads a sprite rig from a ContentReader
            </summary>
            <param name="input"></param>
            <param name="existingInstance"></param>
            <returns></returns>
        </member>
        <member name="T:FlatRedBall.Content.SpriteReader">
            <summary>
            Class used by FlatRedBall to read Sprites out of a .XNB file when used
            read in through the content pipeline.  This is used when deserializing Scenes.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.SpriteRig.SpriteRigSaveBase`1">
            <summary>
            Base class for SpriteRigSave and SpriteRigSaveContent.
            </summary>
            <typeparam name="T">The type of the Sprite.  Can be SpriteSave or SpriteSaveContent.</typeparam>
        </member>
        <member name="F:FlatRedBall.Content.SpriteRig.SpriteRigSaveBase`1.RootName">
            <summary>
            The name of the Root sprite of the SpriteRig.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.SpriteRig.SpriteRigSaveBase`1.RootVisible">
            <summary>
            Whether the root is visible - often used for debugging or in tools
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.SpriteRig.SpriteRigSaveBase`1.JointsVisible">
            <summary>
            Whether joints are visible - often used for debugging or in tools.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.SpriteRig.SpriteRigSaveBase`1.AssetsRelativeToFile">
            <summary>
            Whether the assets referenced by the SpriteRigSaveBase should be serialized as relative to file.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.SpriteRig.SpriteRigSaveBase`1.RightHandedCoordinateSystem">
            <summary>
            Whether the SpriteRigSaveBase uses a right-handed coordinate system.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.SpriteRig.SpriteRigSaveBase`1.TimeMeasurementUnit">
            <summary>
            The TimeMeasurementUnit used by the SpriteRigSaveBase.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.SpriteRig.SpriteRigSaveBase`1.mFileName">
            <summary>
            The file name for this SpriteRigSaveBase
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.SpriteRigSave.#ctor(FlatRedBall.SpriteList,FlatRedBall.SpriteList,System.Collections.Generic.List{FlatRedBall.ManagedSpriteGroups.PoseChain},FlatRedBall.Sprite,System.Boolean)">
            <summary>
            Instantiates a new SpriteRigSave.
            </summary>
            <param name="jointsToUse"></param>
            <param name="bodySpritesToUse"></param>
            <param name="poseChains"></param>
            <param name="rootSprite"></param>
            <param name="assetsRelativeToFile"></param>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.SpriteRigSave.GetReferencedFiles(FlatRedBall.IO.RelativeType)">
            <summary>
            Returns a list of files referenced by this instance.
            </summary>
            <param name="relativeType">Whether the returned files should be absolute or relative.</param>
            <returns>All referenced files.</returns>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.SpriteRigSave.Save(System.String)">
            <summary>
            Saves this file to a XML file on disk.
            </summary>
            <param name="fileName">The name of the file to save to.</param>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.SpriteRigSave.FromFile(System.String)">
            <summary>
            Loads the argument file and converts it to a SpriteRigSave.
            </summary>
            <param name="fileName">The file to load.</param>
            <returns>The loaded file.</returns>
        </member>
        <member name="M:FlatRedBall.Content.SpriteRig.SpriteRigSave.ToSpriteRig(System.String)">
            <summary>
            Converts this to a SpriteRig using the contentManagerName.
            </summary>
            <param name="contentManagerName">The content manager to use when loading referenced files.</param>
            <returns>The resulting SpriteRig.</returns>
        </member>
        <member name="T:FlatRedBall.Content.TextReader">
            <summary>
            This class will be instantiated by the XNA Framework Content
            Pipeline to read the specified data type from binary .xnb format.
            
            Unlike the other Content Pipeline support classes, this should
            be a part of your main game project, and not the Content Pipeline
            Extension Library project.
            </summary>
        </member>
        <member name="T:FlatRedBall.Gui.IObjectDisplayer">
            <summary>
            Interface for an object which provides a visual interface for viewing and editing
            an instance.  This is the base type for PropertyGrids and ListDisplayWindows.
            </summary>
        </member>
        <member name="P:FlatRedBall.Gui.IObjectDisplayer.ObjectDisplayingAsObject">
            <summary>
            Exposes the object that is being displayed (casted as an object).
            This exists so that a list of IObjectDisplayers has access to the
            object displaying.  This should be explicitly implemented.
            </summary>
        </member>
        <member name="T:FlatRedBall.ServiceContainer">
            <summary>
            Container class implements the IServiceProvider interface. This is used
            to pass shared services between different components, for instance the
            ContentManager uses it to locate the IGraphicsDeviceService implementation.
            </summary>
        </member>
        <member name="F:FlatRedBall.FlatRedBallServices.mEncryptionKey">
            <remarks>
            This is *NOT* secure, keys in code can easily be obtained by disassembling the game.
            </remarks>
        </member>
        <member name="M:FlatRedBall.FlatRedBallServices.InitializeCommandLine(Microsoft.Xna.Framework.Game)">
            <summary>
            Used to initialize FlatRedBall without rendering anything to the screen
            </summary>
            <param name="game">The game</param>
        </member>
        <member name="M:FlatRedBall.FlatRedBallServices.InitializeFlatRedBall(Microsoft.Xna.Framework.Game,Microsoft.Xna.Framework.GraphicsDeviceManager)">
            <summary>
            Used to initialize FlatRedBall with a game
            </summary>
            <param name="game">The game</param>
            <param name="graphics">The graphics device manager</param>
        </member>
        <member name="M:FlatRedBall.FlatRedBallServices.InitializeFlatRedBall(Microsoft.Xna.Framework.Game,Microsoft.Xna.Framework.GraphicsDeviceManager,FlatRedBall.Graphics.GraphicsOptions)">
            <summary>
            Used to initialize FlatRedBall with a game and graphics options
            </summary>
            <param name="game">The game</param>
            <param name="graphics">The graphics device manager</param>
            <param name="graphicsOptions">The graphics options to use for this game</param>
        </member>
        <member name="M:FlatRedBall.FlatRedBallServices.InitializeFlatRedBall(Microsoft.Xna.Framework.Graphics.IGraphicsDeviceService,System.IntPtr)">
            <summary>
            Used to intialize FlatRedBall without a game object (e.g. in windows forms projects)
            </summary>
            <param name="graphics">The graphics device service</param>
            <param name="windowHandle">The window handle</param>
        </member>
        <member name="M:FlatRedBall.FlatRedBallServices.InitializeFlatRedBall(Microsoft.Xna.Framework.Graphics.IGraphicsDeviceService,System.IntPtr,FlatRedBall.Graphics.GraphicsOptions)">
            <summary>
            Used to intialize FlatRedBall without a game object (e.g. in windows forms projects) and with graphics options
            </summary>
            <param name="graphics">The graphics device service</param>
            <param name="windowHandle">The window handle</param>
            <param name="graphicsOptions">The graphics options</param>
        </member>
        <member name="M:FlatRedBall.FlatRedBallServices.FinishInitialization(Microsoft.Xna.Framework.Graphics.IGraphicsDeviceService)">
            <summary>
            Basic initialization steps (commond to all initialization methods)
            </summary>
        </member>
        <member name="M:FlatRedBall.FlatRedBallServices.ReplaceFromFileTexture2D(Microsoft.Xna.Framework.Graphics.Texture2D,Microsoft.Xna.Framework.Graphics.Texture2D,System.String)">
            <summary>
            Attempts to replace the texture. Will only work if the texture is loaded from file.
            </summary>
            <param name="oldTexture">Reference to the old texture</param>
            <param name="newTexture">Reference to the new texture</param>
            <param name="contentManagerName">The name of the content manager containing the texture</param>
        </member>
        <member name="M:FlatRedBall.FlatRedBallServices.UpdateCommandLine(Microsoft.Xna.Framework.GameTime)">
            <summary>
            The update method for command line games.  Does not render anything to the screen
            </summary>
            <param name="gameTime">The GameTime</param>
        </member>
        <member name="M:FlatRedBall.FlatRedBallServices.UpdateDependencies">
            <summary>
            Calls UpdateDependencies on all contained managers.
            </summary>
        </member>
        <member name="P:FlatRedBall.FlatRedBallServices.EncryptionSaltValue">
            <summary>
            Salt value that is combined with the EncryptionKey string for generating encryption keys
            </summary>
        </member>
        <member name="P:FlatRedBall.FlatRedBallServices.EncryptionKey">
            <summary>
            Password to use for decrypting files (set this to the appropriate value before attempting to load any CSV files that were encrypted in the content pipeline)
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Animation.AnimationChain">
            <summary>
            Represents a collection of AnimationFrames which can be used to perform
            texture flipping animation on IAnimationChainAnimatables such as Sprites.
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationChain.#ctor">
            <summary>
            Creates an empty AnimationChain.
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationChain.#ctor(System.Int32)">
            <summary>
            Creates a new AnimationChain with the argument capacity.
            </summary>
            <param name="capacity">Sets the initial capacity.  Used to reduce memory allocation.</param>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationChain.FindByName(System.String)">
            <summary>
            Searches for and returns the AnimationFrame with its Name matching
            the nameToSearchFor argument, or null if none are found.
            </summary>
            <param name="nameToSearchFor">The name of the AnimationFrame to search for.</param>
            <returns>The AnimationFrame with matching name, or null if none exists.</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationChain.FrameToFrame(System.Int32,System.Int32)">
            <summary>
            Returns the shortest absolute number of frames between the two argument frame numbers.  This
            method moves forward and backward and considers looping.
            </summary>
            <param name="frame1">The index of the first frame.</param>
            <param name="frame2">The index of the second frame.</param>
            <returns>The positive or negative number of frames between the two arguments.</returns>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.AnimationChain.FrameTime">
            <summary>
            Sets the frameTime of each AnimationFrame in the AnimationChain to the passed value.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.AnimationChain.LastFrame">
            <summary>
            Gets the last AnimationFrame of the AnimationChain or null if 
            there are no AnimationFrames.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.AnimationChain.Name">
            <summary>
            The name of the AnimationChain.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.AnimationChain.TotalLength">
            <summary>
            Returns the sum of the FrameLengths of all contained AnimationFrames.
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Animation.AnimationChainList">
            <summary>
            A list of AnimationChains.
            </summary>
            <remarks>
            This class is often used by IAnimationChainAnimatables to store a list of
            AnimationChains.  Since the AnimationChainList provides a string indexer, it
            is common to get a reference to an AnimationChain by its name and set it as the
            IAnimationChainAnimatable's current AnimationChain.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationChainList.#ctor">
            <summary>
            Instantiates a new AnimationChainList.
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationChainList.#ctor(System.Int32)">
            <summary>
            Instantiates a new AnimationChainList.
            </summary>
            <param name="capacity">Sets the initial capacity to reduce memory allocation when subsequently calling Add.</param>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.AnimationChainList.FileRelativeTextures">
            <summary>
            Gets and sets whether the AnimationChainList will save the 
            Texture2Ds that its AnimationFrames reference with names relative
            to the .achx.  Otherwise, this property is not used during runtime.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.AnimationChainList.TimeMeasurementUnit">
            <summary>
            Gets or sets the TimeMeasurementUnit.  This defaults to TimeMeasurementUnit.Millisecond and
            should not be changed.  It is included for compatability with older versions of FlatRedBall.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.AnimationChainList.Name">
            <summary>
            Gets and sets the intance's name.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.AnimationChainList.Item(System.String)">
            <summary>
            Gets the AnimationChain by name.  Returns null if no AnimationChain is found.
            </summary>
            <param name="animationChainName">The name of the AnimationChain to return</param>
            <returns>Reference to the AnimationChain with the specified name.</returns> 
        </member>
        <member name="T:FlatRedBall.Graphics.Animation.AnimationFrame">
            <summary>
            Stores information about one frame in a texture-flipping animation.
            </summary>
            <remarks>
            Includes
            information about which Texture2D to show, whether the Texture2D should be flipped,
            the length of time to show the Texture2D for, texture coordinates (for sprite sheets), and
            relative positioning.
            </remarks>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.Empty">
            <summary>
            Empty AnimationFrame.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.Texture">
            <summary>
            The texture that the AnimationFrame will show.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.FlipHorizontal">
            <summary>
            Whether the texture should be flipped horizontally.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.FlipVertical">
            <summary>
            Whether the texture should be flipped on the vertidally.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.TextureName">
            <summary>
            Used in XML Serialization of AnimationChains - this should
            not explicitly be set by the user.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.FrameLength">
            <summary>
            The amount of time in seconds the AnimationFrame should be shown for.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.LeftCoordinate">
            <summary>
            The left coordinate in texture coordinates of the AnimationFrame.  Default is 0.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.RightCoordinate">
            <summary>
            The right coordinate in texture coordinates of the AnimationFrame.  Default is 1.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.TopCoordinate">
            <summary>
            The top coordinate in texture coordinates of the AnimationFrame.  Default is 0.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.BottomCoordinate">
            <summary>
            The bottom coordinate in texture coordinates of the AnimationFrame.  Default is 1.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.RelativeX">
            <summary>
            The relative X position of the object that is using this AnimationFrame.  This
            is only applied if the IAnimationChainAnimatable's UseAnimationRelativePosition is
            set to true.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Animation.AnimationFrame.RelativeY">
            <summary>
            The relative Y position of the object that is using this AnimationFrame.  This
            is only applied if the IAnimationChainAnimatable's UseAnimationRelativePosition is
            set to true.
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationFrame.#ctor">
            <summary>
            Creates a new AnimationFrame.
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationFrame.#ctor(Microsoft.Xna.Framework.Graphics.Texture2D,System.Single)">
            <summary>
            Creates a new AnimationFrame.
            </summary>
            <param name="texture">The Texture2D to use for this AnimationFrame.</param>
            <param name="frameLength">The amount of time in seconds that this AnimationFrame will display for when 
            it is used in an AnimationChain.</param>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationFrame.#ctor(System.String,System.Single,System.String)">
            <summary>
            Creates a new AnimationFrame.
            </summary>
            <param name="textureName">The string name of the Texture2D to use for this AnimationFrame.
            This will be loaded through the content pipeline using the arugment contentManagerName.</param>
            <param name="frameLength">The amount of time in seconds that this AnimationFrame will display for when
            it is used in an AnimationChain.</param>
            <param name="contentManagerName">The content manager name to use when loading the Texture2D .</param>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationFrame.Clone">
            <summary>
            Creates a new AnimationFrame with identical properties.  The new AnimationFrame
            will not belong to the AnimationChain that this AnimationFrameBelongs to unless manually
            added.
            </summary>
            <returns>The new AnimationFrame instance.</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.Animation.AnimationFrame.ToString">
            <summary>
            Returns a string representation of this.
            </summary>
            <returns>String representation of this.</returns>
        </member>
        <member name="T:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable">
            <summary>
            Represents an object that can use AnimationChains for texture-flipping animation.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable.Animate">
            <summary>
            Whether animation is currently turned on.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable.AnimationChains">
            <summary>
            Gets all animations stored in this.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable.AnimationSpeed">
            <summary>
            Gets and sets how fast AnimationChains will animate.  Default is 1.  A value
            of 2 will result in AnimationChains animating twice as fast.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable.CurrentChainIndex">
            <summary>
            Gets and sets the index of the current AnimationChain.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable.CurrentChain">
            <summary>
            Gets the current AnimationChain.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable.CurrentChainName">
            <summary>
            Gets the name of the current AnimationChain or sets the current AnimationChain by name.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable.CurrentFrameIndex">
            <summary>
            Gets and sets the current AnimationFrame index.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable.JustChangedFrame">
            <summary>
            Gets whether the current AnimationFrame just changed this frame due to animation.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable.JustCycled">
            <summary>
            Gets whether the current AnimationChain just cycled (looped) this frame due to animation.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Animation.IAnimationChainAnimatable.UseAnimationRelativePosition">
            <summary>
            Whether the current AnimationFrame's relative position values (RelativeX and RelativeY) are applied
            when animating.
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.BatchForwardVectorSorter.Compare(FlatRedBall.Graphics.IDrawableBatch,FlatRedBall.Graphics.IDrawableBatch)">
            <summary>
            Larger comes first.
            </summary>
            <param name="first">The first instance.</param>
            <param name="second">The second instance.</param>
            <returns>-1 if the first comes first, 1 if the second comes first, 0 if they're equal.</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.IDrawableBatch.Draw(FlatRedBall.Camera)">
            <summary>
            Used to draw assets
            Batch is sorted by Z with sprites and text
            </summary>
            <param name="camera">The currently drawing camera</param>
        </member>
        <member name="M:FlatRedBall.Graphics.IDrawableBatch.Update">
            <summary>
            Used to update the drawable batch
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.IDrawableBatch.Destroy">
            <summary>
            Used to destroy any assets that need to be destroyed
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IDrawableBatch.X">
            <summary>
            The X value to use for sorting.  This does NOT affect the position
            of objects drawn by the DrawableBatch.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IDrawableBatch.Y">
            <summary>
            The Y value to use for sorting.  This does NOT affect the position
            of objects drawn by the DrawableBatch.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IDrawableBatch.Z">
            <summary>
            The Z value to use for sorting.  This does NOT affect the position
            of objects drawn by the DrawableBatch.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IDrawableBatch.UpdateEveryFrame">
            <summary>
            Whether or not this batch should be updated
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.EffectCache">
            <summary>
            Caches effects and effect parameters
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectCache.#cctor">
            <summary>
            Initializes parameter name strings
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.EffectCache.mCacheShared">
            <summary>
            Whether or not shared parameters should be cached
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.EffectCache.mModel">
            <summary>
            The model cached, if any
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.EffectCache.mEffect">
            <summary>
            The effect cached, if any
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.EffectCache.mFullEffectParameterCache">
            <summary>
            Caches all effect parameters for faster lookup, by effect
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.EffectCache.mFullParameterCache">
            <summary>
            Caches all effect parameters for faster lookup, by parameter name
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.EffectCache.mEffectCache">
            <summary>
            Caches all effects
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.EffectCache.mEffectParameterCache">
            <summary>
            Caches all enumerated effect parameters
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectCache.GetTechnique(Microsoft.Xna.Framework.Graphics.Effect,System.String)">
            <summary>
            Gets the specified technique from the specified effect, or null if no technique by that name exists
            </summary>
            <param name="effect">The effect</param>
            <param name="techniqueName">The name of the technique</param>
            <returns>The technique requested, or null if not found</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectCache.#ctor(Microsoft.Xna.Framework.Graphics.Effect,System.Boolean)">
            <summary>
            Caches an effect's parameters
            </summary>
            <param name="effect">The effect to cache</param>
            <param name="cacheShared">Whether or not shared parameters should be cached</param>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectCache.#ctor(FlatRedBall.Graphics.Model.PositionedModel,System.Boolean)">
            <summary>
            Caches an model's effects and effect parameters
            </summary>
            <param name="model">The model to cache</param>
            <param name="cacheShared">Whether or not shared parameters should be cached</param>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectCache.CacheEffect(Microsoft.Xna.Framework.Graphics.Effect)">
            <summary>
            Adds an effect to the cache
            </summary>
            <param name="effect">The effect to cache</param>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectCache.UpdateCache">
            <summary>
            Recreates the cache
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectCache.ValidateCache(System.Boolean)">
            <summary>
            Validates the cached model/effect to make sure it hasn't changed
            </summary>
            <param name="updateNow">Whether or not the cache should be updated if found invalid</param>
            <returns>Whether or not the cache was valid</returns>
        </member>
        <member name="P:FlatRedBall.Graphics.EffectCache.CacheShared">
            <summary>
            Whether or not shared parameters should be cached
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.EffectCache.Effects">
            <summary>
            Gets a list of cached effects
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.EffectCache.Item(System.String)">
            <summary>
            Gets a list of parameters of the specified name
            </summary>
            <param name="name">The name of the parameters to retrieve</param>
            <returns>A list of parameters (or null if name not found)</returns>
        </member>
        <member name="P:FlatRedBall.Graphics.EffectCache.Item(FlatRedBall.Graphics.EffectCache.EffectParameterNamesEnum)">
            <summary>
            Retrieves all parameters of one of the standard types
            </summary>
            <param name="name">The name of the parameter</param>
            <returns>A list of parameters (or null if shared params aren't cached)</returns>
        </member>
        <member name="P:FlatRedBall.Graphics.EffectCache.Item(Microsoft.Xna.Framework.Graphics.Effect,System.String)">
            <summary>
            Gets a parameter in a specified effect
            </summary>
            <param name="effect">The effect</param>
            <param name="parameterName">The parameter name</param>
            <returns>The parameter, or null if either effect or parameter not found</returns>
        </member>
        <member name="T:FlatRedBall.Graphics.EffectContainer">
            <summary>
            A container for an effect that maintains variable values
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.EffectContainer.Effect">
            <summary>
            The effect managed by this effect container
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectContainer.#ctor(System.String)">
            <summary>
            Creates an effect container
            </summary>
            <param name="effectPath">The path to the effect file to use in this container</param>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectContainer.#ctor(System.String,System.String)">
            <summary>
            Creates an effect container
            </summary>
            <param name="effectPath">The path to the effect file to use in this container</param>
            <param name="contentManagerName">The name of the content manager to use to load this effect</param>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectContainer.#ctor(Microsoft.Xna.Framework.Graphics.Effect)">
            <summary>
            Creates an effect container
            </summary>
            <param name="effect">The effect to use in this container</param>
        </member>
        <member name="M:FlatRedBall.Graphics.EffectContainer.SetParameterValues">
            <summary>
            Sets all the parameters in addition to the ones in the effect itself.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.GenericEffect.mBasicEffect">
            <summary>
            Private members
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.BuildEffect">
            <summary>
            Builds the precedence table, determines 
            the effect
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.SetCurrentTechnique(System.String)">
            <summary>
            Sets the current technique to the one named.
            </summary>
            <param name="TechniqueName"></param>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.GetEffect(System.Boolean)">
            <summary>
            Gets the internal effect
            </summary>
            <param name="ShouldSetParameters"> Should the parameters be set</param>
            <returns>The effect for this GenericEffect</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.GetEffectTechnique(System.String,System.Boolean)">
            <summary>
            Returns a technique based on the index provided. 
            Will set the parameters for this effect;
            </summary>
            <param name="TechniqueName">The index into the Technique List</param>
            <param name="ShouldSetParameters">Should we set the parameters</param>
            <returns>The EffectTechnique requested</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.GetCurrentTechnique(System.Boolean)">
            <summary>
            Get the current technique
            </summary>
            <param name="ShouldSetParameters"> Should we set the parameters this call</param>
            <returns> The current effect</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.DetermineEffect(System.Boolean)">
            <summary>
            Determine's which of the four shaders this instance will use
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.SetBasicEffectParameters">
            <summary>
            Set the parameters for Basic Shader
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.SetDualTextureEffectParameters">
            <summary>
            Sets the parameters for the dual texture effect
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.SetEnvironmentMapEffectParameters">
            <summary>
            Sets the parameters for the environment map effect
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.SetSkinningEffectParameters">
            <summary>
            Sets the parameters for the skinned effect
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.SetCommonParameters">
            <summary>
            Pass common information to the graphics device
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.Dispose">
            <summary>
            Destroy this object
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GenericEffect.EnableDefaultLighting">
            <summary>
            Needs to be implemented by the IEffectLight child
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.GenericEffect.World">
            <summary>
            Properties inherited from the interfaces
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.GenericEffect.Effect">
            <summary>
            Class properties
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.GraphicsOptions.TextureLoadingColorKey">
            <summary>
            The texture loading color key
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.GraphicsOptions.IsLoading">
            <summary>
            Set to true to suspend device reset while loading from file
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GraphicsOptions.SetResolution(System.Int32,System.Int32)">
            <summary>
            Sets the resolution
            </summary>
            <param name="width">The new width</param>
            <param name="height">The new height</param>
        </member>
        <member name="M:FlatRedBall.Graphics.GraphicsOptions.SetFullScreen(System.Int32,System.Int32)">
            <summary>
            Sets the display mode to full-screen and sets the resolution
            </summary>
            <param name="width">The new width</param>
            <param name="height">The new height</param>
        </member>
        <member name="M:FlatRedBall.Graphics.GraphicsOptions.SuspendDeviceReset">
            <summary>
            Suspends the device reset when options are changed
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GraphicsOptions.ResumeDeviceReset">
            <summary>
            Resumes the device reset when options are changed
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GraphicsOptions.ResetDevice">
            <summary>
            Resets the device
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.GraphicsOptions.SetPresentationParameters(Microsoft.Xna.Framework.Graphics.PresentationParameters@)">
            <summary>
            Sets the presentation parameters
            </summary>
            <param name="presentationParameters">The structure to set parameters in</param>
        </member>
        <member name="M:FlatRedBall.Graphics.GraphicsOptions.Save(System.String)">
            <summary>
            Save the graphics options to a file
            </summary>
            <param name="fileName">The file name of the graphics options file</param>
        </member>
        <member name="M:FlatRedBall.Graphics.GraphicsOptions.FromFile(System.String)">
            <summary>
            Load the graphics options from file
            </summary>
            <param name="fileName">The file name of the graphics options file</param>
        </member>
        <member name="P:FlatRedBall.Graphics.GraphicsOptions.TextureFilter">
            <summary>
            Gets or sets the current texture filter
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.GraphicsOptions.ResolutionWidth">
            <summary>
            Sets the width of the backbuffer and resets the device
            Use SetResolution() to set both width and height simultaneously
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.GraphicsOptions.ResolutionHeight">
            <summary>
            Sets the height of the backbuffer and resets the device
            Use SetResolution() to set both width and height simultaneously
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.GraphicsOptions.BackgroundColor">
            <summary>
            Gets or sets the background color of all cameras
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.GraphicsOptions.IsFullScreen">
            <summary>
            Sets the display mode to full screen
            Use SetFullScreen() to set the full-screen resolution and full-screen simultaneously
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.GraphicsOptions.UseMultiSampling">
            <summary>
            Enables or disables multisampling
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.IColorable">
            <summary>
            Provides an interface for objects which can be have their appearance
            modified by alpha and color values using a variety of operations.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IColorable.Alpha">
            <summary>
            The alpha value to use with the BlendOperation.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IColorable.Red">
            <summary>
            The red value to use with the ColorOperation.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IColorable.Green">
            <summary>
            The green value to use with the ColorOperation.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IColorable.Blue">
            <summary>
            The blue value to use with the color operation.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IColorable.AlphaRate">
            <summary>
            The rate of change of the alpha component in units per second.  A negative value will make the object disappear over time.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IColorable.RedRate">
            <summary>
            The rate of change of the red component in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IColorable.GreenRate">
            <summary>
            The rate of change of the green component in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IColorable.BlueRate">
            <summary>
            The rate of change of the blue component in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IColorable.ColorOperation">
            <summary>
            The color operation to perform using the color component values and 
            Texture (if available).
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.IColorable.BlendOperation">
            <summary>
            The blend operation to perform using the alpha component value and
            Texture (if available).
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.IDestroyable">
            <summary>Provides a Destroy method, generally used by Glue generated classes</summary>
        </member>
        <member name="T:FlatRedBall.Graphics.IVisible">
            <summary>
            Interface for an object which has visibility control.
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Layer">
            <summary>
            Layers are objects which can contain other graphical objects for drawing.  Layers
            are used to create specific ordering and can be used to override depth buffer and
            z-sorted ordering.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Layer.mSprites">
            <summary>
            List of Sprites that belong to this layer.  Sprites should be added
            through SpriteManager.AddToLayer or the AddSprite overloads which 
            include a Layer argument.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Layer.mOverridingFieldOfView">
            <summary>
            Used by the Renderer to override the camera's FieldOfView
            when drawing the layer.  This can be used to give each layer
            a different field of view.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Layer.Batches">
            <summary>
            The Batches referenced by and drawn on the Layer.
            </summary>
            <remarks>
            The Layer stores a regular IDrawableBatch PositionedObjectList
            internally.  Since this internal list is used for drawing
            the layer the engine sorts it every frame.  
            
            For efficiency purposes the internal IDrawableBatch PositionedObjectList
            cannot be sorted.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Graphics.Layer.Sprites">
            <summary>
            The Sprites referenced by and drawn on the Layer.
            </summary>
            <remarks>
            The Layer stores a regular SpriteList internally.  Since
            this internal list is used for drawing the layer the engine
            sorts it every frame.  
            
            For efficiency purposes the internal SpriteList cannot be sorted.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Graphics.Layer.Texts">
            <summary>
            The Texts referenced by and drawn on the Layer.
            </summary>
            <remarks>
            The Layer stores a regular Text PositionedObjectList
            internally.  Since this internal list is used for drawing 
            the layer the engine sorts it every frame.  
            
            For efficiency purposes the internal Text PositionedObjectList 
            cannot be sorted.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Graphics.Layer.Visible">
            <summary>
            Whether the SpriteLayer is visible.
            </summary>
            <remarks>
            This does not set the contained Sprite's visible value to false.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Graphics.Layer.Models">
            <summary>
            The Models referenced by and drawn on the Layer.
            </summary>
            <remarks>
            The Layer stores a regular PositionedModel PositionedObjectList
            internally.  Since this internal list is used for drawing
            the layer the engine sorts it every frame.  
            
            For efficiency purposes the internal PositionedModel PositionedObjectList
            cannot be sorted.
            </remarks>
        </member>
        <member name="T:FlatRedBall.Graphics.Lighting.AmbientLight">
            <summary>
            Defines an ambient light in a scene
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Lighting.LightBase">
            <summary>
            Base class for positioned lights
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Lighting.ILight">
            <summary>
            Interface to lights
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Lighting.ILight.DiffuseColor">
            <summary>
            Gets or sets the color of this light
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Lighting.ILight.SpecularColor">
            <summary>
            Gets or sets the color of this light
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Lighting.ILight.Enabled">
            <summary>
            Gets or sets the enabled status of this light
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Lighting.LightBase.mDiffuseColor">
            <summary>
            The color of this light.  The default value is (1,1,1).
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Lighting.LightBase.mSpecularColor">
            <summary>
            The color of this light.  The default value is (0,0,0).
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Lighting.LightBase.mEnabled">
            <summary>
            Whether or not this light is enabled
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Lighting.LightBase.GetDirectionTo(Microsoft.Xna.Framework.Vector3)">
            <summary>
            This is mostly for the Windows Phone system
            All lights on the phone are directional, relative to the object being lit.
            </summary>
            <param name="objectPosition"></param>
            <returns></returns>
        </member>
        <member name="P:FlatRedBall.Graphics.Lighting.LightBase.DiffuseColor">
            <summary>
            Gets or sets the RGB color of this light
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Lighting.LightBase.SpecularColor">
            <summary>
            Gets or sets the RGB color of this light
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Lighting.LightBase.Enabled">
            <summary>
            Gets or sets whether or not this light is enabled
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Lighting.DirectionalLight">
            <summary>
            A light which containing direction and color information.  This light has no bounds, limits, or source,
            so all objects which can be lit will be lit by directional lights equally.
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Lighting.DirectionalLight.GetDirectionTo(Microsoft.Xna.Framework.Vector3)">
            <summary>
            This is mostly for the Windows Phone system
            All lights on the phone are directional, relative to the object being lit.
            Overloaded for directional lights since they always effect all models the same.
            </summary>
            <param name="objectPosition"></param>
            <returns></returns>
        </member>
        <member name="T:FlatRedBall.Graphics.Lighting.LightIndexer`1">
            <summary>
            Provides a method of indexing lights without access to the actual lists
            </summary>
            <typeparam name="T">The type of lights</typeparam>
        </member>
        <member name="M:FlatRedBall.Graphics.Lighting.LightCollection.SetDefaultLighting(FlatRedBall.Graphics.Lighting.LightCollection.DefaultLightingSetup)">
            <summary>
            Sets the lighting to one of the default lighting setups
            </summary>
            <param name="lightingSetup">The lighting setup to use</param>
        </member>
        <member name="P:FlatRedBall.Graphics.Lighting.LightCollection.Name">
            <summary>
            Gets or sets the name of the lighting collection (e.g. Evening)
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Lighting.LightManager.AddPointLight(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Color)">
            <summary>
            Creates a point light, based on position and color, and adds it to the manager
            </summary>
            <param name="position"></param>
            <param name="diffuseColor"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Graphics.Lighting.LightManager.CreatePointLight(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Color)">
            <summary>
            Creates a point light, does not add the light to the manager
            </summary>
            <param name="position"></param>
            <param name="diffuseColor"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Graphics.Lighting.LightManager.AddDirectionalLight(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Color)">
            <summary>
            Creates a directional light, based on direction and color, and adds it to the manager
            </summary>
            <param name="direction"></param>
            <param name="diffuseColor"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Graphics.Lighting.LightManager.CreateDirectionalLight(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Color)">
            <summary>
            Creates a directional light, does not add the light to the manager
            </summary>
            <param name="direction"></param>
            <param name="diffuseColor"></param>
            <returns></returns>
        </member>
        <member name="T:FlatRedBall.Graphics.Model.EffectParameterProperties">
            <summary>
            Runtime effect property value which can be used to set effects.
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Model.Material">
            <summary>
            A list of effects and parameters.  
            </summary>
            <remarks>
            This class is generally not used during runtime - it's used in the FlatRedBall content pipeline.
            </remarks>
        </member>
        <member name="T:FlatRedBall.Graphics.Model.PositionedBone">
            <summary>
            A bone that can be attached to
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.Geometry.IScalable3D">
            <summary>
            An interface for objects which can be scaled on the X, Y, and Z axes.
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.Geometry.IScalable">
            <summary>
            Represents an object that can be scaled on the X and Y axes and can have
            scale velocity on these two axes.
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.Geometry.IReadOnlyScalable">
            <summary>
            Represents an object which has read-only scale values on two axes.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.IReadOnlyScalable.ScaleX">
            <summary>
            Gets the X Scale of the object.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.IReadOnlyScalable.ScaleY">
            <summary>
            Gets the Y Scale of the object.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.IScalable.ScaleX">
            <summary>
            Gets and sets the X Scale of the object.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.IScalable.ScaleY">
            <summary>
            Gets and sets the Y Scale of the object
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.IScalable.ScaleXVelocity">
            <summary>
            Gets and sets the rate at which the X Scale of the object changes in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.IScalable.ScaleYVelocity">
            <summary>
            Gets and sets the rate at which the Y Scale of the object changes in units per second.
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Model.ModelManager.CreateModel(System.String,System.String,System.Boolean)">
            <summary>
            Create a new positioned model without adding to engine
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Model.ModelManager.BasicModelEffect">
            <summary>
            Provides access to the BasicModelEffect.  This should only be used in debugging.
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Model.PositionedBoneCollection">
            <summary>
            Provides access to positioned bones in a model
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Model.PositionedBoneCollection.DetachAll">
            <summary>
            Detaches all bones from parents/children and destroys the collection
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Model.PositionedBoneCollection.CreatePositionedBone(System.String)">
            <summary>
            Creates a positioned bone when asking for one that does not exist yet
            </summary>
            <param name="boneName">The name of the bone to get</param>
            <returns>A positioned bone or animated positioned bone</returns>
        </member>
        <member name="P:FlatRedBall.Graphics.Model.PositionedBoneCollection.Item(System.String)">
            <summary>
            Gets the positioned bone with the specified name
            </summary>
            <param name="boneName">The name of the bone</param>
            <returns>A positioned bone</returns>
        </member>
        <member name="T:FlatRedBall.Graphics.Model.ModelVertexInfo">
            <summary>
            Contains information about what fields a model's mesh's vertices provide
            </summary>
        </member>
        <member name="T:FlatRedBall.Input.ICursorSelectable">
            <summary>
            Defines an interface for objects which can be selectable by the cursor.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.ICursorSelectable.CursorSelectable">
            <summary>
            Whether the instance is currently selectable (active).
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Model.PositionedModel.LodMeshOrder">
            <summary>
            Specifies the ordering and distance of meshes to be used at different LODs
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Model.PositionedModel.mAnimate">
            <summary>
            Whether animation is being performed.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Model.PositionedModel.CustomEffect">
            <summary>
            Specifies a custom effect to use with this model
            (when null, uses Model's internal effects)
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Model.PositionedModel.VertexInformation">
            <summary>
            A list of vertex information, indexed as VertexInformation[mesh#][meshpart#]
            Built during ModelManager.AddModel()
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Model.PositionedModel.Clone">
            <summary>
            Creates a new PositionedModel which shares the same reference
            for XnaModel and Effects.
            </summary>
            <returns>The newly-created PositionedModel.</returns>
        </member>
        <member name="P:FlatRedBall.Graphics.Model.PositionedModel.HasAnimation">
            <summary>
            Whether or not this model has animation information
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Model.PositionedModel.Texture">
            <summary>
            Sets the model's texture
            Will not work if the model is using custom effects or if
            the model loads its own fx files unless you are using
            the same parameter name for texture as BasicEffect uses.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Model.PositionedModel.LodType">
            <summary>
            Gets or sets the type of LOD drawing to use for this model
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Model.PositionedModel.TransformationMatrix">
            <summary>
            Gets the transformation (world) matrix for this model
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Model.PositionedModel.LodMeshOrdering.MeshId">
            <summary>
            The index of the mesh in the model's mesh collection
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Model.PositionedModel.LodMeshOrdering.LodDistance">
            <summary>
            The distance after which this mesh will be drawn (up until the next
            mesh's distance, if it exists)
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.AttachableList`1">
            <summary>
            A list of IAttachables which is by default two-way.
            </summary>
            <typeparam name="T">Type of the list which is of IAttachable.</typeparam>
        </member>
        <member name="T:FlatRedBall.Math.IAttachableRemovable">
            <summary>
            Interface defining that an object has a RemoveObject method.  This standardizes the way that objects remove themselves from
            two-way lists.
            </summary>
            <remarks>
            This should not be implemented outside of the FlatRedBall Engine, but is public so that PositionedOjbect-inheriting
            objects can access the lists of objects that they belong to.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.#ctor">
            <summary>
            Creates a new AttachableList.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.#ctor(System.Int32)">
            <summary>
            Creates a new AttachableList with the argument capacity.
            </summary>
            <param name="capacity">The initial capacity of the new AttachableList.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.GetTopParents``2(FlatRedBall.Math.AttachableList{``1})">
            <summary>
            Returns the top parents in the argument AttachableList
            </summary>
            <typeparam name="OutType">The type of object in the returned list.</typeparam>
            <typeparam name="InType">Tye type of object in the argument list</typeparam>
            <param name="poa">The list to search through.</param>
            <returns>List of T's that are the top parents of the objects in the argument AttachableList.</returns>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.Add(`0)">
            <summary>
            Adds the argument to the AttachableList and creates a two-way relationship.
            </summary>
            <param name="attachable">The IAttachable to add.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.AddRange(FlatRedBall.Math.AttachableList{`0})">
            <summary>
            Adds all IAttachables contained in the argument AttachableList to this AttachableList and creates two
            way relationships.
            </summary>
            <param name="listToAdd"></param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.AddOneWay(`0)">
            <summary>
            Adds the argument attachable to this without creating a two-way relationship.
            </summary>
            <param name="attachable">The IAttachable to add to this.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.AddRangeOneWay(FlatRedBall.Math.AttachableList{`0})">
            <summary>
            Adds all IAttachables contained in the argument AttachableList to this
            without creating two-way relationships.
            </summary>
            <param name="listToAdd">The list of IAttachables to add.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.AddUnique(`0)">
            <summary>
            Adds a new IAttachable if it is not already in the list.
            </summary>
            <param name="attachable">The IAttachable to add.</param>
            <returns>Index where the IAttachable was added.  -1 is returned if the list already contains the argument attachable</returns>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.AddUniqueOneWay(`0)">
            <summary>
            Adds the argument IAttachable to this and creates a two-way relationship if
            this does not already contain the IAttachable.
            </summary>
            <param name="attachable">The IAttachable to add.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.Clear">
            <summary>
            Removes all IAttachables contained in this and eliminates all
            two-way relationships.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.Contains(`0)">
            <summary>
            Returns whether this contains the argument IAttachable.
            </summary>
            <remarks>
            If the argument is part of this instance and the two share a 
            two-way relationship then this method is able to use this two-way
            relationship to speed up the method call.
            </remarks>
            <param name="attachable">The argument IAttachable to search for.</param>
            <returns>Whether the argument attachable is contained in this list.</returns>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.FindByName(System.String)">
            <summary>
            Returns the IAttachable with name matching the argument.
            </summary>
            <remarks>This method performs a case-sensitive search.</remarks>
            <param name="nameToSearchFor">The name to match when searching.</param>
            <returns>The IAttachable with matching name or null if none are found.</returns>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.FindWithNameContaining(System.String)">
            <summary>
            Returns the first IAttachable with a name containing the argument string.
            </summary>
            <remarks>This method returns any IAttachable that has a name that contains the argument.
            For example, an object with the name "MySprite" would return if the argument was "Sprite".</remarks>
            <param name="stringToSearchFor">The string to check IAttachables for.</param>
            <returns>The IAttachable with a name containing the argument string or null if none are found.</returns>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.FindWithNameContainingCaseInsensitive(System.String)">
            <summary>
            Returns the first IAttachable with a name containing the argument string, case insensitive.
            </summary>
            <remarks>This method returns any IAttachable that has a name that contains the argument.
            For example, an object with the name "MySprite" would return if the argument was "Sprite".</remarks>
            <param name="stringToSearchFor">The string to check IAttachables for.</param>
            <returns>The IAttachable with a name containing the argument string or null if none are found.</returns>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.Insert(System.Int32,`0)">
            <summary>
            Inserts the argument IAttachable at the argument index and creates a 
            two-way relationship.
            </summary>
            <param name="index">The index to insert at.</param>
            <param name="attachable">The IAttachable to insert.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.InsertOneWay(System.Int32,`0)">
            <summary>
            Inserts the argument IAttachable at the argument index but does not create
            a two-way relationship.
            </summary>
            <param name="index">The index to insert at.</param>
            <param name="attachable">The IAttachable to insert.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.MakeOneWay">
            <summary>
            Breaks all two-way relationships between this and all contained
            IAttachables.
            </summary>
            <remarks>
            This will still contain the same number of IAttachables before and
            after the call.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.MakeTwoWay">
            <summary>
            Makes the relationship between all contained IAttachables and this a two way relationship.
            </summary>
            <remarks>
            If an IAttachable is added (through the Add method), the relationship is already a
            two-way relationship.  IAttachables which already have two-way relationships will not be affected
            by this call.  IAttachables that have been added through the AddOneWay call or added
            through a call that returns a one-way array will be modified so that they hold a reference to
            this instance in their ListsBelongingTo field.  One-way relationships are often created in
            FRB methods which return AttachableLists.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.MoveBlock(System.Int32,System.Int32,System.Int32)">
            <summary>
            Moves the position of a block of IAttachables beginning at the argument
            sourceIndex of numberToMove count to the argument destinationIndex.
            </summary>
            <param name="sourceIndex">The index of the first IAttachable in the block.</param>
            <param name="numberToMove">The number of elements in the block.</param>
            <param name="destinationIndex">The index to insert the block at.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.Remove(`0)">
            <summary>
            Removes the argument IAttachable from this and clears the two-way relationship.
            </summary>
            <param name="attachable">The IAttachable to remove from this.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.Remove(FlatRedBall.Math.AttachableList{`0})">
            <summary>
            Removes all IAttachables contained in the argument attachableList from this and clears the two-way relationships between
            this and all IAttachables removed.
            </summary>
            <param name="attachableList">The list of IAttachables to remove.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.RemoveAt(System.Int32)">
            <summary>
            Removes the IAttachable at the argument index and clears two-way relationships.
            </summary>
            <param name="index">The index of the object to remove.</param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.RemoveAtOneWay(System.Int32)">
            <summary>
            Removes the IAttachable at the argument index from the list, but the IAttachable will continue to reference
            this List in its ListsBelongingTo.
            </summary>
            <param name="index"></param>
        </member>
        <member name="M:FlatRedBall.Math.AttachableList`1.ToString">
            <summary>
            Returns a string with the name and the number of elements that this contains.
            </summary>
            <returns>The string with this instance's name and element count.</returns>
        </member>
        <member name="P:FlatRedBall.Math.AttachableList`1.Count">
            <summary>
            The number of elements contained in the list.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.AttachableList`1.Name">
            <summary>
            Gets and sets the name of this instance.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.PositionedObjectList`1.GetFirstAfterPosition(System.Single,FlatRedBall.Math.Axis,System.Int32,System.Int32)">
            <summary>
            Gets the first object found after the argument "value" on the argument "axis".  Lists
            must be sorted for this method to work effectively.  WARNING:  This method uses an inclusive upper bound.  Use GetFirstAfter instead which uses an exclusive upper bound.
            </summary>
            <param name="value">The value to search after.  For example, this method will return objects with their position values greater than
            the argument value.  In other words, if 0 is passed as the value, then objects with position values greater than (not equal to) will be returned.</param>
            <param name="axis">The axis representing the value to use (x, y, or z)</param>
            <param name="lowBound">The lower (inclusive) bound.</param>
            <param name="highBound">The upper (inclusive) bound.  This argument is why GetFirstAfterPosition is obsolete.</param>
            <returns>The index of the first object after the given value.</returns>
        </member>
        <member name="M:FlatRedBall.Math.PositionedObjectList`1.GetFirstAfter(System.Single,FlatRedBall.Math.Axis,System.Int32,System.Int32)">
            <summary>
            Gets the first object found after the argument "value" on the argument "axis".  Lists
            must be sorted ascending for this method to work effectively.
            </summary>
            <remarks>
            This method is useful when searching for items in a list after a given value.  
            </remarks>
            <param name="value">The value to search after.  For example, this method will return objects with their position values greater than
            the argument value.  In other words, if 0 is passed as the value, then objects with position values greater than (not equal to) will be returned.</param>
            <param name="axis">The axis representing the value to use (x, y, or z)</param>
            <param name="lowBoundIndex">The lower (inclusive) bound.</param>
            <param name="highBoundIndex">The upper (exclusive) bound.</param>
            <returns>The index of the first object after the given value.</returns>
        </member>
        <member name="M:FlatRedBall.Math.PositionedObjectList`1.GetTopParents">
            <summary>
            Returns a one-way List containing the TopParents of all items in the list without duplication.
            </summary>
            <returns>The list of parents.</returns>
        </member>
        <member name="M:FlatRedBall.Math.PositionedObjectList`1.Shift(System.Single,System.Single,System.Single)">
            <summary>
            Shifts all contained objects' Position by the arguments x,y,z.
            </summary>
            <param name="x">Amount to move on the X axis.</param>
            <param name="y">Amount to move on the Y axis.</param>
            <param name="z">Amount to move on the Z axis.</param>
        </member>
        <member name="M:FlatRedBall.Math.PositionedObjectList`1.Shift(Microsoft.Xna.Framework.Vector3)">
            <summary>
            Shifts all contained objects' Position by the argument vector.
            </summary>
            <param name="vector">The amount to change Position by.</param>
        </member>
        <member name="M:FlatRedBall.Math.PositionedObjectList`1.ShiftRelative(Microsoft.Xna.Framework.Vector3)">
            <summary>
            Shifts all contained objects' RelativePosition by the argument vector.
            </summary>
            <param name="vector">The amount to change RelativePosition by.</param>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Animation">
            <summary>
            This template contains animations referencing a previous frame. It should contain one reference 
            to a frame and at least one set of AnimationKeys. It also can contain an AnimationOptions data object.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Template">
            <summary>
            Used as the base class that binds all template types together.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Template.UUID">
            <summary>
             universally unique identifier (UUID) formatted to the Open Software Foundation's Distributed 
             Computing Environment standard and surrounded by angle brackets &lt; and &gt;
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Animation.#ctor">
            <summary>
            This template contains animations referencing a previous frame. It should contain one reference 
            to a frame and at least one set of AnimationKeys. It also can contain an AnimationOptions data object.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Animation.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.AnimationKey">
            <summary>
            This template defines a set of animation keys. The keyType member specifies whether the keys are rotation, 
            scale or position keys (using the integers 0, 1, or 2 respectively).
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.AnimationKey.#ctor">
            <summary>
            This template defines a set of animation keys. The keyType member specifies whether the keys are rotation, 
            scale or position keys (using the integers 0, 1, or 2 respectively).
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.AnimationKey.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.AnimationKey.KeyType">
            <summary>
            The Type of Key by an integer value.
            0 - Rotation
            1 - Scale
            2 - Position
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.AnimationKey.nKeys">
            <summary>
            An integer value for the amount of Keys.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.AnimationKey.Keys">
            <summary>
            A TimedFloatKeys array for ths AnimationKey.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.AnimationOptions">
            <summary>
            This template enables you to set the Direct3D Retained Mode Animation options. 
            The openclosed member can be either 0 for a closed or 1 for an open animation. 
            The positionquality member is used to set the position quality for any position keys specified and can either be 0 
            for spline positions or 1 for linear positions. By default, an animation is closed.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.AnimationOptions.#ctor">
            <summary>
            This template enables you to set the Direct3D Retained Mode Animation options. 
            The openclosed member can be either 0 for a closed or 1 for an open animation. 
            The positionquality member is used to set the position quality for any position keys specified and can either be 0 
            for spline positions or 1 for linear positions. By default, an animation is closed.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.AnimationOptions.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.AnimationOptions.OpenClosed">
            <summary>
            An integer value for whether or not the animation is open or closed.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.AnimationOptions.PositionQuality">
            <summary>
            An integer value for whether or not the animation using spline or linear positions for
            interpolation.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.AnimationSet">
            <summary>
            An AnimationSet template contains one or more Animation objects and is the equivalent to the Direct3D Retained Mode 
            concept of animation sets. This means each animation within an animation set has the same time at any given point. 
            Increasing the animation set's time will increase the time for all the animations it contains.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.AnimationSet.#ctor">
            <summary>
            An AnimationSet template contains one or more Animation objects and is the equivalent to the Direct3D Retained Mode 
            concept of animation sets. This means each animation within an animation set has the same time at any given point. 
            Increasing the animation set's time will increase the time for all the animations it contains.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.AnimationSet.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Boolean">
            <summary>
            Defines a simple Boolean type. This template should be set to 0 or 1.
            </summary>
        </member>
        <member name="F:FlatRedBall.Content.Model.XLoader.Templates.Boolean.mTrueFalse">
            <summary>
            A private value which is used to keep the TrueFalse within the 0 - 1 range.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Boolean.#ctor">
            <summary>
            Defines a simple Boolean type. This template should be set to 0 or 1.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Boolean.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Boolean.ToBool(FlatRedBall.Content.Model.XLoader.Templates.Boolean)">
            <summary>
            Returns a Microsoft XNA bool representation of this Boolean
            </summary>
            <param name="boolean">The Boolean to convert.</param>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Boolean.TrueFalse">
            <summary>
            An integer value to represent True or False.
            1 = True, 0 = False.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Boolean2d">
            <summary>
            This template defines a set of two Boolean values used in the MeshFaceWraps template to 
            define the texture topology of an individual face.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Boolean2d.#ctor">
            <summary>
            This template defines a set of two Boolean values used in the MeshFaceWraps template to 
            define the texture topology of an individual face.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Boolean2d.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Boolean2d.U">
            <summary>
            A boolean value for the 2 dimensional U value
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Boolean2d.V">
            <summary>
            A boolean value for the 2 dimensional V value
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.ColorRGB">
            <summary>
            This template defines the basic RGB color object.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.ColorRGB.#ctor">
            <summary>
            This template defines the basic RGB color object.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.ColorRGB.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.ColorRGB.ToColor(FlatRedBall.Content.Model.XLoader.Templates.ColorRGB)">
            <summary>
            Returns a Microsoft XNA Color representation of this ColorRGB
            </summary>
            <param name="colorRGB">The ColorRGB to convert.</param>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.ColorRGB.ToVector4(FlatRedBall.Content.Model.XLoader.Templates.ColorRGB)">
            <summary>
            Returns a Microsoft XNA Vector4 representation of this ColorRGB
            </summary>
            <param name="colorRGB">The ColorRGB to convert.</param>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.ColorRGB.ToVector3(FlatRedBall.Content.Model.XLoader.Templates.ColorRGB)">
            <summary>
            Returns a Microsoft XNA Vector3 representation of this ColorRGB
            </summary>
            <param name="colorRGB">The ColorRGB to convert.</param>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.ColorRGB.Red">
            <summary>
            A Float value that represents the Red amount.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.ColorRGB.Green">
            <summary>
            A Float value that represents the Green amount.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.ColorRGB.Blue">
            <summary>
            A Float value that represents the Blue amount.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA">
            <summary>
            This template defines a color object with an alpha component. 
            This is used for the face color in the material template definition.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA.#ctor">
            <summary>
            This template defines a color object with an alpha component. 
            This is used for the face color in the material template definition.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA.ToColor(FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA)">
            <summary>
            Returns a Microsoft XNA Color representation of this ColorRGBA
            </summary>
            <param name="colorRGBA">The ColorRGBA to convert.</param>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA.ToVector4(FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA)">
            <summary>
            Returns a Microsoft XNA Vector4 representation of this ColorRGBA
            </summary>
            <param name="colorRGBA">The ColorRGBA to convert.</param>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA.ToVector3(FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA)">
            <summary>
            Returns a Microsoft XNA Vector3 representation of this ColorRGBA
            </summary>
            <param name="colorRGBA">The ColorRGBA to convert.</param>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA.Red">
            <summary>
            A Float value that represents the Red amount.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA.Green">
            <summary>
            A Float value that represents the Green amount.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA.Blue">
            <summary>
            A Float value that represents the Blue amount.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.ColorRGBA.Alpha">
            <summary>
            A Float value that represents the Alpha amount.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Coords2d">
            <summary>
            A two dimensional vector used to define a mesh's texture coordinates.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Coords2d.#ctor">
            <summary>
            A two dimensional vector used to define a mesh's texture coordinates.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Coords2d.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Coords2d.ToVector2(FlatRedBall.Content.Model.XLoader.Templates.Coords2d)">
            <summary>
            Returns a Microsoft XNA Vector3 representation of this Vector
            </summary>
            <param name="coords">The Coords2d to convert</param>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Coords2d.U">
            <summary>
            The U Coorinate for Texture Coordinates
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Coords2d.V">
            <summary>
            The V Coorinate for Texture Coordinates
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.FloatKeys">
            <summary>
            This template defines an array of floating-point numbers (floats) and the number of floats in that array. 
            This is used for defining sets of animation keys.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.FloatKeys.#ctor">
            <summary>
            This template defines an array of floating-point numbers (floats) and the number of floats in that array. 
            This is used for defining sets of animation keys.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.FloatKeys.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.FloatKeys.nValues">
            <summary>
            A integer value for the amount of Float values.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.FloatKeys.Values">
            <summary>
            A float array of the values for the Float Keys.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Frame">
            <summary>
            This template defines a frame. Currently, the frame can contain objects of the type Mesh and a FrameTransformMatrix.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Frame.#ctor">
            <summary>
            This template defines a frame. Currently, the frame can contain objects of the type Mesh and a FrameTransformMatrix.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Frame.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Frame.Name">
            <summary>
            The Name for this Frame.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.FrameTransformMatrix">
            <summary>
            This template defines a local transform for a frame (and all its child objects).
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.FrameTransformMatrix.#ctor">
            <summary>
            This template defines a local transform for a frame (and all its child objects).
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.FrameTransformMatrix.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.FrameTransformMatrix.FrameMatrix">
            <summary>
            A Matrix4x4 value for the Frame.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Header">
            <summary>
            This template defines the application-specific header for the Direct3D Retained Mode usage of the DirectX file format. 
            The Retained Mode uses the major and minor flags to specify the current major and minor versions for the Retained Mode 
            file format.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Header.#ctor">
            <summary>
            This template defines the application-specific header for the Direct3D Retained Mode usage of the DirectX file format. 
            The Retained Mode uses the major and minor flags to specify the current major and minor versions for the Retained Mode 
            file format.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Header.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Header.Major">
            <summary>
            Major Version of this File Format
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Header.Minor">
            <summary>
            Minor Version of this File Format
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Header.Flags">
            <summary>
            32 or 64 Bit Flag
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.IndexedColor">
            <summary>
            This template consists of an index parameter and an RGBA color and is used for defining mesh vertex colors. 
            The index defines the vertex to which the color is applied.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.IndexedColor.#ctor">
            <summary>
            This template consists of an index parameter and an RGBA color and is used for defining mesh vertex colors. 
            The index defines the vertex to which the color is applied.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.IndexedColor.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.IndexedColor.Index">
            <summary>
            An integer value for the Index of this color.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.IndexedColor.ColorRGBA">
            <summary>
            The ColorRGBA value for this IndexedColor
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Material">
            <summary>
            This template defines a basic material color that can be applied to either a complete mesh or a mesh's individual faces. 
            The power is the specular exponent of the material. Note that the ambient color requires an alpha component.
            TextureFilename is an optional data object used by Direct3D Retained Mode. If this object is not present, 
            the face is untextured.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Material.#ctor">
            <summary>
            This template defines a basic material color that can be applied to either a complete mesh or a mesh's individual faces. 
            The power is the specular exponent of the material. Note that the ambient color requires an alpha component.
            TextureFilename is an optional data object used by Direct3D Retained Mode. If this object is not present, 
            the face is untextured.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Material.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Material.Name">
            <summary>
            The Name of this Material.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Material.ColorRGBA">
            <summary>
            A ColorRGBA value for the Diffuse Color
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Material.Power">
            <summary>
            A Float value for the Specular Power.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Material.SpecularColor">
            <summary>
            A ColorRGB value for the Specular Color
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Material.EmissiveColor">
            <summary>
            A ColorRGB value for the Emissive Color
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Matrix4x4">
            <summary>
            This template defines a 4×4 matrix. This is used as a frame transformation matrix.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Matrix4x4.#ctor">
            <summary>
            This template defines a 4×4 matrix. This is used as a frame transformation matrix.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Matrix4x4.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Matrix4x4.ToMatrix(FlatRedBall.Content.Model.XLoader.Templates.Matrix4x4)">
            <summary>
            Returns a Microsoft XNA Matrix representation of this Matrix4x4
            </summary>
            <param name="matrix4x4">The Matrix4x4 to convert.</param>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Matrix4x4.Matrix">
            <summary>
            A float array used as the matrix.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Mesh">
            <summary>
            This template defines a simple mesh. The first array is a list of vertices, and the second array defines the faces
            of the mesh by indexing into the vertex array.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Mesh.#ctor">
            <summary>
            This template defines a simple mesh. The first array is a list of vertices, and the second array defines the faces
            of the mesh by indexing into the vertex array.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Mesh.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Mesh.Name">
            <summary>
            The Name of this Mesh.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Mesh.nVertices">
            <summary>
            An integer value of Verticies for this Mesh.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Mesh.Vertices">
            <summary>
            A Vector array of verticies for this Mesh.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Mesh.nFaces">
            <summary>
            An integer value of Faces for this Mesh.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Mesh.Faces">
            <summary>
            A MeshFace array of Faces for this Mesh.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.MeshFace">
            <summary>
            This template is used by the Mesh template to define a mesh's faces. Each element of the nFaceVertexIndices 
            array references a mesh vertex used to build the face
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshFace.#ctor">
            <summary>
            This template is used by the Mesh template to define a mesh's faces. Each element of the nFaceVertexIndices 
            array references a mesh vertex used to build the face
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshFace.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshFace.nFaceVertexIndices">
            <summary>
            Mesh face Vertex Indicies Count
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshFace.FaceVertexIndices">
            <summary>
            An int array of the Mesh Face Indicies
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.MeshFaceWraps">
            <summary>
            This template is used to define the texture topology of each face in a wrap. 
            The value of the nFaceWrapValues member should be equal to the number of faces in a mesh.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshFaceWraps.#ctor">
            <summary>
            This template is used to define the texture topology of each face in a wrap. 
            The value of the nFaceWrapValues member should be equal to the number of faces in a mesh.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshFaceWraps.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshFaceWraps.nFaceWrapValues">
            <summary>
            An integer value for the value of this MeshFaceWraps
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshFaceWraps.FaceWrapsValues">
            <summary>
            A Boolean2d value for this MeshFaceWrap values.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.MeshMaterialList">
            <summary>
            This template is used in a mesh object to specify which material applies to which faces. The nMaterials member 
            specifies how many materials are present, and materials specify which material to apply.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshMaterialList.#ctor">
            <summary>
            This template is used in a mesh object to specify which material applies to which faces. The nMaterials member 
            specifies how many materials are present, and materials specify which material to apply.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshMaterialList.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshMaterialList.nMaterials">
            <summary>
            A integer value for the amount of Matrials for this Mesh.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshMaterialList.nFaceIndexes">
            <summary>
            A integer value of the amount of faces.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshMaterialList.FaceIndexes">
            <summary>
            A integer array of the Faces.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.MeshNormals">
            <summary>
            This template defines normals for a mesh. The first array of vectors is the normal vectors themselves, 
            and the second array is an array of indexes specifying which normals should be applied to a given face. 
            The value of the nFaceNormals member should be equal to the number of faces in a mesh.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshNormals.#ctor">
            <summary>
            This template defines normals for a mesh. The first array of vectors is the normal vectors themselves, 
            and the second array is an array of indexes specifying which normals should be applied to a given face. 
            The value of the nFaceNormals member should be equal to the number of faces in a mesh.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshNormals.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshNormals.nNormals">
            <summary>
            A integer value of the amount of Normals for this Mesh.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshNormals.Normals">
            <summary>
            A Vector array of the Normals for this mesh.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshNormals.nFaceNormals">
            <summary>
            An integer value of the Amount of Face Normals.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshNormals.FaceNormals">
            <summary>
            A Mesh Face array of the Face Normals.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.MeshTextureCoords">
            <summary>
            This template defines a mesh's texture coordinates
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshTextureCoords.#ctor">
            <summary>
            This template defines a mesh's texture coordinates
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshTextureCoords.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshTextureCoords.ToVector2List(FlatRedBall.Content.Model.XLoader.Templates.MeshTextureCoords)">
            <summary>
            Returns a Microsoft XNA Vector2 List representation of this MeshTextureCoords
            </summary>
            <param name="mtCoords">The MeshTextureCoords to convert.</param>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshTextureCoords.ToVector2Array(FlatRedBall.Content.Model.XLoader.Templates.MeshTextureCoords)">
            <summary>
            Returns a Microsoft XNA Vector2 array representation of this MeshTextureCoords
            </summary>
            <param name="mtCoords">The MeshTextureCoords to convert.</param>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshTextureCoords.mTextureCoords">
            <summary>
            An integer value of the Total amount of Texture Coordinates.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshTextureCoords.TextureCoords">
            <summary>
            A Coords2d array of TextureCoords
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.MeshVertexColors">
            <summary>
            This template specifies vertex colors for a mesh, instead of applying a material per face or per mesh.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshVertexColors.#ctor">
            <summary>
            This template specifies vertex colors for a mesh, instead of applying a material per face or per mesh.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.MeshVertexColors.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshVertexColors.nVertexColors">
            <summary>
            Amount of VertexColors
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.MeshVertexColors.VertexColors">
            <summary>
            An Array of IndexedColors.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Quaternion">
            <summary>
            Currently unused.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Quaternion.#ctor">
            <summary>
            Currently unused.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Quaternion.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Quaternion.S">
            <summary>
            An angle value for this Quanternion
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Quaternion.V">
            <summary>
            A 3d vector for this Quanterion
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.TextureFilename">
            <summary>
            This template allows you to specify the file name of a texture to apply to a mesh or a face. 
            This template should appear within a material object.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.TextureFilename.#ctor">
            <summary>
            This template allows you to specify the file name of a texture to apply to a mesh or a face. 
            This template should appear within a material object.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.TextureFilename.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.TextureFilename.Filename">
            <summary>
            A string representation of where to load the texture from.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.TimedFloatKeys">
            <summary>
            This template defines a set of floats and a positive time used in animations.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.TimedFloatKeys.#ctor">
            <summary>
            This template defines a set of floats and a positive time used in animations.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.TimedFloatKeys.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.TimedFloatKeys.Time">
            <summary>
            A integer value for the time of this TimedFloatKeys
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.TimedFloatKeys.TFKeys">
            <summary>
            FloatKeys for this timed Float Key.
            </summary>
        </member>
        <member name="T:FlatRedBall.Content.Model.XLoader.Templates.Vector">
            <summary>
            This template defines a vector
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Vector.#ctor">
            <summary>
            This template defines a vector
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Vector.ToString">
            <summary>
            Returns a string representation of this template.
            </summary>
        </member>
        <member name="M:FlatRedBall.Content.Model.XLoader.Templates.Vector.ToVector3(FlatRedBall.Content.Model.XLoader.Templates.Vector)">
            <summary>
            Returns a Microsoft XNA Vector3 representation of this Vector
            </summary>
            <param name="vector">The Vector to convert</param>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Vector.X">
            <summary>
            The X Cordinate in 3D space.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Vector.Y">
            <summary>
            The Y Cordinate in 3D space.
            </summary>
        </member>
        <member name="P:FlatRedBall.Content.Model.XLoader.Templates.Vector.Z">
            <summary>
            The Z Cordinate in 3D space.
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Particle.EmissionSettings">
            <summary>
            Defines the state of Sprites immediately after being created by the containing Emitter.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Particle.EmissionSettings.VelocityRangeType">
            <summary>
            Sets the type of velocity to use.  This impacts which Velocity values are
            applied to emitted Sprites.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Particle.RangeType.Component">
            <summary>
            Each individual component (X, Y, Z) had an independent range.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Particle.RangeType.Radial">
            <summary>
            The X and Y components are set according to a random angle spanning a full circle and a radial velocity or rate value.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Particle.RangeType.Spherical">
            <summary>
            The X,Y,and Z components are set according to a random point on a full sphere and a radial velocity or rate value.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Particle.RangeType.Wedge">
            <summary>
            The X and Y components are set according to a random angle within wedge values using a radial velocity or rate value.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Particle.RangeType.Cone">
            <summary>
            The X, Y, and Z components are set according to a random point on a 
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Particle.Emitter">
            <summary>
            An emitter is an invisible object which can create one or more Sprites at a specific 
            rate or on a method call.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Particle.Emitter.mRemovalEvent">
            <summary>
            This is used only in the ParticleEditor.  
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Particle.Emitter.Emit(FlatRedBall.SpriteList)">
            <summary>
            Emits particles as specified by the Emitter class
            </summary>
            <remarks>
            This method initiates one emission of particles.  The number of particles emitted
            depends on the numberPerEmission variable.  This method does not consider emission timing, and the time
            is not recorded for emission timing.  
            
            The argument SpriteList stores all Sprites which were emitted
            during the call.  The Sprites are added regularly, rather than in a one way relationship.  This enables
            modification of emitted particles after the method ends.  null can be passed as an argument
            if specific action is not needed for emitted particles.  Particles are automatically created
            through the SpriteManager as Particle Sprites.
            <seealso cref="M:FlatRedBall.Graphics.Particle.Emitter.TimedEmit"/>
            <seealso cref="M:FlatRedBall.SpriteManager.AddParticleSprite(Microsoft.Xna.Framework.Graphics.Texture2D)"/>
            
            </remarks>
            <param name="spriteList">The list of Sprites (which can be null) to add all Sprites created
            by this call.</param>
        </member>
        <member name="P:FlatRedBall.Graphics.Particle.Emitter.SecondsLasting">
            <summary>
            Specifies the number of seconds that particles will remain on the screen and in memory.  This is only considered
            if the RemovalEvent is set to RemovalEventType.TIMED;
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Particle.Emitter.RemovalEventType.None">
            <summary>
            No removal event specified.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Particle.Emitter.RemovalEventType.OutOfScreen">
            <summary>
            Particles will be removed when out of the screen.
            </summary>
            <remarks>
            This uses the camera's IsSpriteInView method.
            </remarks>
        </member>
        <member name="F:FlatRedBall.Graphics.Particle.Emitter.RemovalEventType.Alpha0">
            <summary>
            Particles will be removed when Alpha is 0
            </summary>
            <remarks>
            Setting the Alpha to 0 manually on a particle created by an emitter with this removal event will
            also remove the Sprite.
            </remarks>
        </member>
        <member name="F:FlatRedBall.Graphics.Particle.Emitter.RemovalEventType.Timed">
            <summary>
            Particles will be removed after a certain amount of time has passed after emission.  This value is set through the
            SecondsLasting property.
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Particle.EmitterList">
            <summary>
            List of Emitters provoding shortcut methods for interacting with all contained Emittes.
            </summary>
            <remarks>
            This is the runtime object created when loading .emix files.
            </remarks>
        </member>
        <member name="T:FlatRedBall.Graphics.RenderMode">
            <summary>
            Rendering modes available in FlatRedBall
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.RenderMode.Default">
            <summary>
            Default rendering mode (uses embedded effects in models)
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.RenderMode.Color">
            <summary>
            Color rendering mode - renders color values for a model
            (does not include lighting information)
            Effect technique: RenderColor
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.RenderMode.Normals">
            <summary>
            Normals rendering mode - renders normals
            Effect technique: RenderNormals
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.RenderMode.Depth">
            <summary>
            Depth rendering mode - renders depth
            Effect technique: RenderDepth
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.RenderMode.Position">
            <summary>
            Position rendering mode - renders position
            Effect technique: RenderPosition
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Renderer">
            <summary>
            Static class responsible for drawing/rendering content to the cameras on screen.
            </summary> 
            <remarks>This class is called by <see cref="M:FlatRedBall.FlatRedBallServices.Draw"/></remarks>
        </member>
        <member name="M:FlatRedBall.Graphics.Renderer.InitializeRenderTargets(Microsoft.Xna.Framework.Graphics.SurfaceFormat)">
            <summary>
            Ensures that a render target pair of this surface format exists
            </summary>
            <param name="surfaceFormat">The surface format for the render targets</param>
        </member>
        <member name="M:FlatRedBall.Graphics.Renderer.DrawQuad(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Vector3)">
            <summary>
            Draws a quad
            The effect must already be started
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Renderer.DrawFullScreenQuad">
            <summary>
            Draws a full-screen quad
            The effect must already be started
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Renderer.Camera">
            <summary>
            Gets the default Camera (SpriteManager.Camera)
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Renderer.Cameras">
            <summary>
            Gets the list of cameras (SpriteManager.Cameras)
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Renderer.UseRenderTargetForLoading">
            <summary>Temporary Fix to resolve issues with render states while async loading</summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Renderers.SortMode">
            <summary>
            The possible ways to sort objects which should be sorted (Sprites, Texts, IDrawableBatches).
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.Renderers.IRenderer">
            <summary>
            Renders objects
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.Renderers.IRenderer.Prepare(FlatRedBall.Camera)">
            <summary>
            Prepares objects on the specified camera for drawing before beginning the drawing loop.
            </summary>
            <param name="camera">The camera to prepare.</param>
        </member>
        <member name="M:FlatRedBall.Graphics.Renderers.IRenderer.SetDeviceSettings(FlatRedBall.Camera,FlatRedBall.Graphics.RenderMode)">
            <summary>
            Sets up render states for this renderer.  Called when the last renderer to draw was not
            this renderer.
            </summary>
            <param name="camera"></param>
            <param name="renderMode"></param>
        </member>
        <member name="M:FlatRedBall.Graphics.Renderers.IRenderer.Draw(FlatRedBall.Camera,FlatRedBall.Graphics.Layer,FlatRedBall.Graphics.RenderMode)">
            <summary>
            Draws objects on the specified layer.  For renderers that DrawSorted, this should draw the
            next object on the layer, and GetNextObjectDepth should now return the following object.
            </summary>
            <param name="camera">The camera to draw.</param>
            <param name="layer">The layer to draw.</param>
            <param name="renderMode"></param>
        </member>
        <member name="M:FlatRedBall.Graphics.Renderers.IRenderer.GetNextObjectDepth(FlatRedBall.Camera,FlatRedBall.Graphics.Layer)">
            <summary>
            Returns the depth of the next object to draw on this layer for the current sort mode.
            </summary>
            <param name="camera">The Camera currently being drawn.</param>
            <param name="layer">The layer currently being drawn.</param>
            <returns>The depth of the next object on this layer for the current sort mode.</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.Renderers.IRenderer.HasObjectsLeftToDraw(FlatRedBall.Camera,FlatRedBall.Graphics.Layer)">
            <summary>
            Returns true if this layer hasn't drawn all of its objects for this Renderer.
            </summary>
            <param name="camera">The Camera to check</param>
            <param name="layer">The layer to check.</param>
            <returns>Whether or not the renderer has drawn all objects on the layer.</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.Renderers.IRenderer.RemoveLayer(FlatRedBall.Camera,FlatRedBall.Graphics.Layer)">
            <summary>
            Called to remove layer information from a renderer (for renderers that store
            layer information).
            </summary>
            <param name="camera">The Camera to move the Layer from</param>
            <param name="layer">The layer to remove</param>
        </member>
        <member name="P:FlatRedBall.Graphics.Renderers.IRenderer.DrawSorted">
            <summary>
            Whether or not the objects in this renderer are drawn in order with order renderers.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Renderers.IRenderer.SortMode">
            <summary>
            Gets or sets the current sorting mode.
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.RenderOverrides">
            <summary>
            Render overrides are a way to inject new information into the BasicEffect
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.RenderTargetTexture.ResolveTexture">
            <summary>
            Resolves the texture by setting the current render target to null (back buffer) and then
            getting the texture from the previously drawing render target
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.RenderTargetTexture.SetOnDevice">
            <summary>
            Sets this render target on the device
            </summary>
        </member>
        <member name="T:FlatRedBall.Graphics.RenderTargetPair">
            <summary>
            Manages a swappable pair of render targets (of the same surface format)
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.RenderTargetPair.SwitchTarget">
            <summary>
            This switches the currently active render target.
            Use to set this type of target, or switch the currently used
            target of this type.
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.RenderTargetPair.SwitchTarget(Microsoft.Xna.Framework.Graphics.Texture2D@)">
            <summary>
            This switches the currently active render target and gets the
            resolved texture from the previous target.
            Use to set this type of target, or switch the currently used
            target of this type.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.RenderTargetPair.CurrentRenderTarget">
            <summary>
            Gets the current render target
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.RenderTargetPair.Width">
            <summary>
            Gets the width of this render target pair
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.RenderTargetPair.Height">
            <summary>
            Gets the height of this render target pair
            </summary>
        </member>
        <member name="T:FlatRedBall.Input.IMouseOver">
            <summary>
             Interface for checking mouse over's
            </summary>
        </member>
        <member name="M:FlatRedBall.Input.IMouseOver.IsMouseOver(FlatRedBall.Gui.Cursor)">
            <summary>
             Check to see if object is under mouse.
            </summary>
            <param name="cursor">Cursor to check against.</param>
            <returns>True if under mouse.</returns>
        </member>
        <member name="M:FlatRedBall.Input.IMouseOver.IsMouseOver(FlatRedBall.Gui.Cursor,FlatRedBall.Graphics.Layer)">
            <summary>
             Check to see if object is under mouse.
            </summary>
            <param name="cursor">Cursor to check against.</param>
            <param name="layer">Layer object is on.</param>
            <returns>True if under mouse.</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.Text.Clone">
            <summary>
            Creates a new Text object.
            </summary>
            <returns>
            Reference to the new Text object.  The object will not 
            be in the TextManager's memory.
            </returns>
        </member>
        <member name="M:FlatRedBall.Graphics.Text.SetColor(System.Single,System.Single,System.Single)">
            <summary>
            Set the RGB properties of this all at once. 0,0,0 is Black, 1,1,1 is White.
            </summary>
            <param name="red">0 to 1</param>
            <param name="green">0 to 1</param>
            <param name="blue">0 to 1</param>
        </member>
        <member name="M:FlatRedBall.Graphics.Text.SetPixelPerfectScale(FlatRedBall.Camera)">
            <summary>
            Sets the Scale and Spacing such that the Text is drawn pixel-perfect at its given Z position.
            </summary>
            <param name="camera">Reference to the camera to use when calculating the Scale and Spacing.</param>
        </member>
        <member name="M:FlatRedBall.Graphics.Text.SetPixelPerfectScale(FlatRedBall.Graphics.Layer)">
            <summary>
            Sets the Scale and Spacing such that the Text is drawn pixel-perfect at the given Z position.
            This method obeys the Layer's overridden field of view if it uses one.
            </summary>
            <param name="layer"></param>
        </member>
        <member name="M:FlatRedBall.Graphics.Text.UpdateDisplayedText">
            <summary>
            Updates the displayed text according to the MaxWidth.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Text.DisplayText">
            <summary>
            Gets or sets the string that the Text object is to display.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Text.HorizontalCenter">
            <summary>
            Returns the center of the text object.
            </summary>
            <remarks>
            If the text is centered (the format.alignment equals TextManager.Alignment.CENTER),
            this will simply return the x value of the text.  Otherwise, this property
            calculates the center of the text based on the contained string, the format, whether
            the text uses 3D fonts, and the x position of the text.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Graphics.Text.AlphaRate">
            <summary>
            The rate of change of the alpha component in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Text.NumberOfLines">
            <summary>
            Returns the number of lines in the text object.
            </summary>
            <remarks>
            This currently reports the number of lines only when the text
            object is using a bitmap font.  3D text does not use the newline
            character.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Graphics.Text.MaxWidth">
            <summary>
            The maximum width of the text in world units.  This modifies the DisplayedText property.
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Text.ScaleX">
            <summary>
            Returns the distance from the center of the Text object to the edge;
            </summary>
        </member>
        <member name="P:FlatRedBall.Graphics.Text.VerticalCenter">
            <summary>
            Returns the vertical center of the text.
            </summary>
            <remarks>
            Since the y value of text marks either the top or bottom of the Text
            depending on vertical alignment, this value can be useful for finding
            the Text's center.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Graphics.Text.ContentManager">
            <summary>
            The ContentManager used to store
            textures generated by the Text.  This
            is required for proper cleanup.
            </summary>
        </member>
        <member name="M:FlatRedBall.Graphics.TextManager.AddText(System.String,FlatRedBall.Camera)">
            <summary>
            Creates a new Text with the argument string which will only be drawn in the argument Camera's
            destination.
            </summary>
            <remarks>
            The new text will be stored both by the camera and the TextManager's managed invisible Texts array.
            The text is automatically attached to the argument Camera so to be moved, it must either
            be detached or moved with relative variables.
            </remarks>
            <param name="s">The string to show.</param>
            <param name="cameraToAddTo">The camera that the newly created Text belongs to.</param>
            <returns>Reference to the newly created Text.</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.TextManager.AddText(FlatRedBall.Graphics.Text,FlatRedBall.Camera)">
            <summary>
            Adds an already-created Text instance to the argument camera.
            </summary>
            <remarks>
            The argument Text should not already be in the TextManager's memory when this
            method is called.
            </remarks>
            <param name="textToAdd">Reference to the text object to add.</param>
            <param name="cameraToAddTo">Reference to the camera to be added to.</param>
            <returns>The added text.</returns>
        </member>
        <member name="M:FlatRedBall.Graphics.TextManager.GetWidth(System.String)">
            <summary>
            Returns the width of the rendered text assuming the spacing is 1.
            </summary>
            <remarks>
            If there are newline characters in the string, GetWidth returns the width of the longest line.
            Spaces are considered characters as well so "Hello " will be longer than "Hello".
            </remarks>
            <param name="text">The text to measure.</param>
            <returns>The width of the longest line in the text.</returns>
        </member>
        <member name="T:FlatRedBall.Graphics.Texture.BitmapList">
            <summary>
            A list of Bitmaps which can be created from a loaded .gif.
            </summary>
            <remarks>
            This class can be created through the FlatRedBallServices.Load method.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Graphics.Texture.ImageData.RemoveRow(System.Int32)">
            <summary>
            Removes the index row from the contained data.  Row 0 is the top of the texture.
            </summary>
            <param name="rowToRemove">The index of the row to remove.  Index 0 is the top row.</param>
        </member>
        <member name="F:FlatRedBall.Graphics.Tile.GridRelativeState`1.X">
            <summary>
            The relative X position.
            </summary>
        </member>
        <member name="F:FlatRedBall.Graphics.Tile.GridRelativeState`1.Y">
            <summary>
            The relative Y position.
            </summary>
        </member>
        <member name="T:FlatRedBall.Gui.Cursor">
            <summary>
            The cursor is a controllable graphical icon which can interact with FRB elements and
            stores information about mouse activity.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.sensitivity">
            <summary>
            Controls how sensitive the cursor is to mouse movements.
            </summary>
            <remarks>
            Default value is 1, so setting the value to 2 will make the mouse
            twice as sensitive.
            </remarks>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.si">
            <summary>
            The Sprite that the cursor uses to draw itself.
            </summary>
            <remarks>
            This field can be modified to change how the Sprite is drawn.  The following Sprite values modify the cursor:
            
            <para>x - relative to the camera</para>
            <para>y - relative to the camera</para>
            <para>ScaleX</para>
            <para>ScaleY</para>
            <para>RotationX</para>
            <para>RotationY</para>
            <para>RotationZ</para>
            <para>texture</para>
            <para>fade</para>
            <para>visible</para>
            <para>
            Other values will not modify how the Sprite is drawn.
            </para>
            </remarks>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.tipXOffset">
            <summary>
            The x distance from the center of the Cursor which is used as the cursor's tip for selection.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.tipYOffset">
            <summary>
            The y distance from the center of the Cursor which is used as the cursor's tip for selection.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.mWindowSecondaryPushed">
            <summary>
            The window that the cursor was over when the mouse button was pressed.
            </summary>
            <remarks>
            When the secondary (right) mouse button is pushed down, this value is set - either to null 
            if the mouse is not over any Windows or to the Window that the mouse is over.  
            When the secondary mouse button is released (clicked), this value is set to null.  
            This value is useful for clicking on Windows.  Specifically, when the cursor is clicked
            on a Button, the WindowPushed value is tested to make sure that it is the same as 
            the Window clicked on.  This allows for players to push on a Button but move 
            the mouse away and click elsewhere without clicking on the Button originally 
            pushed and without accidentally clicking on other Buttons.  This is also used
            with ToggleButtons to control when they are pressed and unpressed.
            </remarks>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.StaticPosition">
            <summary>
            If this value is true, the Cursor will not move in response to the mouse or gamepad.
            </summary>
            <remarks>
            This value can be set to true if the Cursor should not move in response to input.
            The staticPosition value is only used by the engine when over the button on an UpDown.  When pushing down
            on an UpDown button, the staticPosition is set to true, and set to false when releasing the mouse button.
            </remarks>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.mWindowGrabbed">
            <summary>
            The window that the cursor has grabbed.
            </summary>
            <remarks>
            When the mouse button is released, the windowGrabbed reference is set to null.  If a Window is grabbed, it will
            move as the mouse moves.  This is used commonly for dragging on menu bars and scroll bars.  The cursor does
            not recognize which types of Windows can be dragged, so windows must be grabbed through the Cursor.GrabWindow
            method.  The windowGrabbed's onDrag event is fired every frame.
            </remarks>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.mObjectGrabbed">
            <summary>
            Storage for reference to a grabbed object.
            </summary>
            <remarks>
            This variable has no internal engine functionality.  It merely provies a place to store a reference
            to a grabbed Object - useful in graphical applications where the Cursor can grab and move objects such
            as Sprites or Text objects.
            The ObjectGrabbedRelativeX and ObjectGrabbedRelativeY can also be set to keep the object static after a click rather than
            "snapping" its center to the Cursor's tip.
            <seealso cref="M:FlatRedBall.Gui.Cursor.SetObjectRelativePosition(FlatRedBall.Math.IStaticPositionable)"/>
            </remarks>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.ObjectGrabbedRelativeX">
            <summary>
            The relative x position of a grabbed object from the center of the cursor.
            </summary>
            <remarks>
            This value can be set through the SetObjectRelativePosition.  
            This value used in the GetCursorPositionForSprite method.
             <seealso cref="M:FlatRedBall.Gui.Cursor.GetCursorPositionForSprite(System.Single@,System.Single@,System.Single)"/>
             <seealso cref="M:FlatRedBall.Gui.Cursor.SetObjectRelativePosition(FlatRedBall.Math.IStaticPositionable)"/>
            </remarks>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.ObjectGrabbedRelativeY">
            <summary>
            The relative y position of a grabbed object from the center of the cursor.
            </summary>
            <remarks>
            This value can be set through the SetObjectRelativePosition.  
            This value used in the GetCursorPositionForSprite method.
             <seealso cref="M:FlatRedBall.Gui.Cursor.GetCursorPositionForSprite(System.Single@,System.Single@,System.Single)"/>
             <seealso cref="M:FlatRedBall.Gui.Cursor.SetObjectRelativePosition(FlatRedBall.Math.IStaticPositionable)"/>
            </remarks>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.PrimaryPush">
            <summary>
            Determines whether the primary button was pushed this frame.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.PrimaryDown">
            <summary>
            Determines whether the primary button is down this frame.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.PrimaryClick">
            <summary>
            Determines whether the primary button was clicked (released) this frame.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.PrimaryDoubleClick">
            <summary>
            Determines whether the primary button was double clicked this frame.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.SecondaryPush">
            <summary>
            Determines whether the secondary button was pushed this frame.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.SecondaryDown">
            <summary>
            Determines whether the secondary button is down this frame.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.SecondaryClick">
            <summary>
            Determines whether the secondary button was clicked (released) this frame.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.SecondaryDoubleClick">
            <summary>
            Determines whether the secondary button was double clicked this frame.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.Cursor.mCamera">
            <summary>
            Reference to the camera to which the cursor belongs.
            </summary>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.#ctor(FlatRedBall.Camera)">
            <summary>
            Creates a new Cursor
            </summary>
            <remarks>
            Usually the cursor does not have to be created explicitly.  Calling
            the GuiManager's constructor without a cursor reference (default in the
            FrbTemplate) creates a cursor automatically.  New cursors should only
            be created if multiple cursors are needed, or if you are inheriting
            from the Cursor class.  Usually multiple cursors are only needed
            in games with multiple cameras.
            </remarks>
            <param name="cameraToUse">The camera that the cursor will belong to.</param>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.ActualXVelocityAt(System.Single)">
            <summary>
            Returns the xVelocity of the cursor at a particular Z.
            </summary>
            <remarks>
            As the cursor can control objects at various Z values, this method returns the X velocity
            of the cursor at a paritular Z.  This method assumes that the Camera is unrotated (looking
            down the Z axis.
            </remarks>
            <param name="z">The z value to measure the velocity at.</param>
            <returns>The X velocity at the particular Z.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.ActualYVelocityAt(System.Single)">
            <summary>
            Returns the yVelocity of the cursor at a particular Z.
            </summary>
            <remarks>
            As the cursor can control objects at various Z values, this method returns the Y velocity
            of the cursor at a paritular Z.  This method assumes that the Camera is unrotated (looking
            down the Z axis.
            </remarks>
            <param name="z">The z value to measure the velocity at.</param>
            <returns>The Y velocity at the particular Z.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.GetCursorPosition(System.Single@,System.Single@,System.Single)">
            <summary>
            Modifies the x and y arguments to show the point of the cursor's tip at at the z value.
            </summary>
            <remarks>
            This method assumes that the Camera is unrotated (looking
            down the Z axis).
            </remarks>
            <param name="x">The x value to change.</param>
            <param name="y">The y value to change.</param>
            <param name="absoluteZ">The z value to use.</param>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.GetCursorPositionForSprite(System.Single@,System.Single@,System.Single)">
            <summary>
            Modifies the x and y arguments to show the position that the grabbed Sprite should be at.
            </summary>
            <remarks>
            This method assumes that the camera's currentFollowingStyle is Camera.LOOKINGSTYLE.DOWNZ.  The x and y
            arguments will represent the location of the cursor's tip and adds the relative Sprite positions.
            
            <seealso cref="M:FlatRedBall.Gui.Cursor.SetObjectRelativePosition(FlatRedBall.Math.IStaticPositionable)"/>
            </remarks>
            <param name="x"></param>
            <param name="y"></param>
            <param name="absolute"></param>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.GetCursorPosition(FlatRedBall.PositionedObject,System.Single)">
            <summary>
            Gets the cursor's position and sets the argument positionedObject's
            x and y values to the cursor's position at the argument Z value.
            </summary>
            <remarks>
            This is a simple way to set the position of an object
            to the cursor's position.
            </remarks>
            <param name="positionedObject">Reference to the positioned object.</param>
            <param name="absoluteZ">The Z value at which the position should be set.</param>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.GetSpriteOver``1(System.Collections.Generic.IList{``0})">
            <summary>
            Returns the Sprite the cursor is over giving preference to the closest Sprite to the Camera.
            </summary>
            <remarks>
            This method will not return inactive Sprites (Sprites with the .active variable set to false).  To consider inactives as well
            call the GetSpriteOver(SpriteArray, bool) overload.
            </remarks>
            <param name="spriteArray">The SpriteArray to search through.</param>
            <returns>The Sprite that is found, or null if the cursor is not over any Sprites.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.GetSpriteOver``1(System.Collections.Generic.IList{``0},System.Boolean,System.Boolean)">
            <summary>
            Returns the Sprite the cursor is over giving preference to the closest Sprite to the Camera.
            </summary>
            <param name="spriteArray">The SpriteArray to search through.</param>
            <param name="considerInactives">Whether inactive Sprites (Sprites with the .active variable set to false) are considered.</param>
            <param name="skipFirst"></param>
            <returns>The Sprite that is found, or null if the cursor is not over any Sprites.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.GetSpriteOver(System.Collections.Generic.IList{FlatRedBall.SpriteList})">
            <summary>
            Returns the Sprite the cursor is over giving preference to the closest Sprite to the Camera.
            </summary>
            <param name="spriteArrayArray">The SpriteArrayArray to search through.</param>
            <returns>The Sprite that is found, or null if the cursor is not over any Sprites.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.GetSpriteOver(FlatRedBall.Graphics.Layer)">
            <summary>
            Returns the Sprite the cursor is over giving preference to the closest Sprite to the Camera.
            </summary>
            <param name="spriteLayer">The SpriteLayer to search through.</param>
            <returns>The Sprite that is found, or null if the Cursor is not over any Sprites.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.GetSpriteOver(System.Collections.Generic.List{FlatRedBall.ManagedSpriteGroups.SpriteGrid})">
            <summary>
            Returns the Sprite that the cursor is over in the argument SpriteGridArray.
            </summary>
            <param name="sga">Reference to the SpriteGridArray.</param>
            <returns>The Sprite that the cursor is over.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.GrabWindow(FlatRedBall.Gui.IWindow)">
            <summary>
            Grabs a Window with the Cursor.
            </summary>
            <remarks>
            The windowGrabbed reference will automatically be set to null when the primary button is 
            released (clicked) by the GuiManager.Control method.
            <seealso cref="M:FlatRedBall.Gui.GuiManager.Control"/>
            </remarks>
            <param name="windowToGrab">The Window to grab.</param>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.IsOn(FlatRedBall.Sprite)">
            <summary>
            Determines whether the cursor is on a Sprite, but only considers rotation on the z axis (RotationZ).
            </summary>
            <remarks>
            This method will not consider whether spriteToTest is rotated on the x or y axes, and assumes
            that the camera is looking down the Z axis (the Camera is unrotated).  Cursor.IsOn3D
            works properly for any rotation..
            
            <para>This method will not select Sprites which are closer that the camera's nearClipPlane or
            further than the camera's farClipPlane.</para>
            </remarks>
            <param name="spriteToTest">The Sprite to test if the cursor is over.</param>
            <returns>Whether the cursor is on the Sprite.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.IsOn(FlatRedBall.Graphics.Text)">
            <summary>
            Determines whether the cursor is over a textObject.
            </summary>
            <remarks>
            This method will not consider whether the Text is rotated on the x or y axes, and assumes
            that the cursor is looking down the Z axis(the camera.LookStyle is DOWNZ).  
            
            <para>This method will not select Texts which are closer that the camera's nearClipPlane or
            further than the camera's farClipPlane.</para>
            
            Currently, the method treats the text object as one rectangle, so the width of the Text will be equal
            to the widest line.  For example:
            
            <code>
            // if the text were centered, the collidable area would be as follows
            +-------------------------+
            |       The outline       |
            |represents the collidable|
            |    area of the Text.    |
            |  Notice that the border |
            |    extends to include   |
            |    the longest line.    |
            +-------------------------+
            
            // if the text were left aligned, the area would still be the same:
            +-------------------------+
            |The outline              |
            |represents the collidable|
            |area of the Text.        |
            |Notice that the border   |
            |extends to include       |
            |the longest line.        |
            +-------------------------+
            </code>
            </remarks>
            <param name="textObject">The TextObject to test if the cursor is over.</param>
            <returns>Whether the cursor is on the TextObject.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.IsOn(FlatRedBall.Gui.IWindow)">
            <summary>
            Returns whether the cursor is over the argument windowToTest.
            </summary>
            <remarks>
            This method will work accurately for both GuiManager-drawn Windows
            and SpriteFrame Windows.
            </remarks>
            <param name="windowToTest">Reference to the window to test.</param>
            <returns>Whether the cursor is over the argument Window.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.IsOn``1(``0)">
            <summary>
            Returns whether the cursor is over the argument SpriteFrame.
            </summary>
            <param name="sf">Reference to the SpriteFrame to test.</param>
            <returns>Whether the cursor is over the argument SpriteFrame.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.IsOn3D(FlatRedBall.Sprite)">
            <summary>
            Determines whether the Cursor is on a Sprite.
            </summary>
            <remarks>
            This is the "full featured" version of the IsOn method, considering rotation on all axes for
            both the spriteToTest and the camera.  All lookingStyles are considered and will return accurate results.
            This method is slower than the IsOn method, and if Sprites are facing the camera under its
            default orientation, the IsOn method should be used.
            
            <para>This method will not select Sprites if the cursor is over them on a point
            that is closer that the camera's nearClipPlane or further than the camera's 
            farClipPlane.</para>
            
            </remarks>
            <param name="spriteToTest">The Sprite to test if the Cursor is over.</param>
            <returns>Whether the Cursor is over the Sprite.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.IsOn3D(FlatRedBall.Sprite,Microsoft.Xna.Framework.Vector3@)">
            <summary>
            Determines whether the Cursor is on a Sprite and stores the intersection point in a Vector3.
            </summary>
            <remarks>		
            This is the "full featured" version of the IsOn method, considering rotation on all axes for
            both the spriteToTest and the camera.  All lookingStyles are considered and will return accurate results.
            This method is slower than the IsOn method, and if Sprites are facing the camera under its
            default orientation, the IsOn method should be used.
            
            This method also modifies a Vector3 which marks the intersection point on the Sprite.
            
            <para>This method will not select Sprites if the cursor is over them on a point
            that is closer that the camera's nearClipPlane or further than the camera's 
            farClipPlane.</para>
            </remarks>
            <param name="spriteToTest">The Sprite to test if the Cursor is over.</param>
            <param name="intersectionPoint">The point where the cursor touches the Sprite.</param>
            <returns>Whether the Cursor is on the Sprite.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.IsCursorTexture(System.String)">
            <summary>
            Checks to see if the Cursor's texture matches the passed argument.
            </summary>
            <param name="textureToTest">The texture to compare to.</param>
            <returns>Whether the argument is the same as the Cursor's texture.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.IsInWindow">
            <summary>
            Determines whether the cursor is currently in the active Control which owns the application.
            </summary>
            <returns>Whether the cursor is currently in the active Control which owns the application.</returns>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.SetCursor(Microsoft.Xna.Framework.Graphics.Texture2D,System.Single,System.Single,System.Single)">
            <summary>
            Sets the texture, ScaleX and ScaleY, and the tip offsets.
            </summary>
            <remarks>
            This method just sets the properties in one call.  The individual properties can
            also be set individually.
            </remarks>
            <param name="textureToUse">Texture to use.</param>
            <param name="ScaleX">The ScaleX to set.  ScaleY will be set according to the source texture's dimensions.</param>
            <param name="TipXOffset">The relative x value of the tip of the Cursor from its center.</param>
            <param name="TipYOffset">the relative y value of the tip of the Cursor from its center.</param>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.SetJoystickControl(FlatRedBall.Input.Xbox360GamePad)">
            <summary>
            Sets the cursor to be controlled by the joystick rather than the mouse.
            </summary>
            <param name="js">Refernce to the joystick that will control the cursor.</param>
        </member>
        <member name="M:FlatRedBall.Gui.Cursor.SetObjectRelativePosition(FlatRedBall.Math.IStaticPositionable)">
            <summary>
            Tells the Cursor to store the relative position of the Sprite to the Cursor's tip.
            </summary>
            <remarks>
            The relative Sprite position is used in the GetCursorPositionForSprite method.  Relative values
            keep objects from "snapping" to the center of the cursor when grabbed.
            </remarks>
            <param name="objectSetTo">The PositionedObject that the relative values should be set to.</param>
        </member>
        <member name="P:FlatRedBall.Gui.Cursor.Active">
            <summary>
            Sets whether the cursor is active.
            </summary>
            <remarks>
            An inactive cursor will not move or read any input.
            Setting the active property to false will also clear the following
            fields:
            
            <para>primaryClick</para>
            <para>primaryDoubleClick</para>
            <para>primaryDown</para>
            <para>primaryPush</para>
            <para>secondaryClick</para>
            <para>secondaryDoubleClick</para>
            <para>secondaryDown</para>
            <para>secondaryPush</para>
            
            </remarks>
        </member>
        <member name="P:FlatRedBall.Gui.Cursor.XForUI">
            <summary>
            The cursor's X position relative to the camera at 100 units away from the camera.
            </summary>
            <remarks>
            As objects can have varying distances away from the camera, when trying to move
            objects with the cursor, it is usually not accurate to say:
            <code>
            someObject.X = cursor.X;
            someObject.Y = cursor.Y;
            </code>
            This will only be accurate if the object is also 100 units away from the camera and
            if the camera is centered on the origin.  The
            x and y values must be passed to the GetCursorPosition method.
            <seealso cref="M:FlatRedBall.Gui.Cursor.GetCursorPosition(System.Single@,System.Single@,System.Single)"/>
            </remarks>
        </member>
        <member name="P:FlatRedBall.Gui.Cursor.YForUI">
            <summary>
            The cursor's Y position relative to the camera at 100 units away from the camera.
            </summary>
            <remarks>
            As objects can have varying distances away from the camera, when trying to move
            objects with the cursor, it is usually not accurate to say:
            <code>
            someObject.X = cursor.X;
            someObject.Y = cursor.Y;
            </code>
            This will only be accurate if the object is also 100 units away from the camera and
            if the camera is centered on the origin.  The
            x and y values must be passed to the GetCursorPosition method.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Gui.Cursor.XVelocity">
            <summary>
            The change in x since last frame in world units at 100 units away from the camera.
            </summary>
            <remarks>
            Cursor velocity properties do not counsider bounds; that is, a cursor will still have an xVelocity
            even if it is pressed against the right side of the screen and being moved to the right.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Gui.Cursor.YVelocity">
            <summary>
            The change in y since last frame in world units at 100 units away from the camera.
            </summary>
            <remarks>
            Cursor velocity properties do not counsider bounds; that is, a cursor will still have an xVelocity
            even if it is pressed against the right side of the screen and being moved to the right.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Gui.Cursor.ZVelocity">
            <summary>
            The movement rate of the controlling input (usually mouse) on the z axis.
            </summary>
            <remarks>
            Cursor velocity properties do not counsider bounds; that is, a cursor will still have an xVelocity
            even if it is pressed against the right side of the screen and being moved to the right.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Gui.Cursor.WindowPushed">
            <summary>
            The window that the cursor was over when the mouse button was pressed.
            </summary>
            <remarks>
            When the mouse button is pushed down, this value is set - either to null 
            if the mouse is not over any Windows or to the Window that the mouse is over.  
            When the mouse button is released (clicked), this value is set to null.  
            This value is useful for clicking on Windows.  Specifically, when the cursor is clicked
            on a Button, the WindowPushed value is tested to make sure that it is the same as 
            the Window clicked on.  This allows for players to push on a Button but move 
            the mouse away and click elsewhere without clicking on the Button originally 
            pushed and without accidentally clicking on other Buttons.  This is also used
            with ToggleButtons to control when they are pressed and unpressed.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Gui.Cursor.ObjectGrabbed">
            <summary>
            Assigns the ObjectGrabbed and calculates the relative position of the
            grabbed object.  After this method is called, UpdateObjectGrabbedPosition can be called
            every frame to position the grabbed object.
            </summary>
        </member>
        <member name="F:FlatRedBall.Gui.GuiManager.mDominantWindows">
            <summary>
            A stack of Windows which demand input from the cursor.
            </summary>
            <remarks>
            When a dominantWindow is valid, the cursor will not be able to interact with other windows.  If RemoveInvisibleDominantWindows
            is set to true (default is true) then the GuiManager will remove any invisible dominant windows from its
            memory.
            In other words a DominantWindow can be removed either through the traditional Remove methods or by
            setting the Window's Visible property to false if RemoveInvisibleDominantWindows is true.
            </remarks>
        </member>
        <member name="F:FlatRedBall.Gui.GuiManager.mToolTipText">
            <summary>
            Sets the tool tip to show
            </summary>
            <remarks>
            Some UI elements like Buttons automatically show
            a tool tip.  This property can be used to overwrite
            what is shown, or to show tool tips when the user is
            over a non-UI element.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Gui.GuiManager.AddDominantWindow(FlatRedBall.Gui.IWindow)">
            <summary>
            Adds a window as a Dominant Window.  If the window is a regular Window
            already managed by the GuiManager it will be removed from the regularly-managed
            windows.
            </summary>
            <param name="windowToSet">The window to add to the Dominant Window stack.</param>
        </member>
        <member name="M:FlatRedBall.Gui.GuiManager.SortZAndLayerBased">
            <summary>
            Sorts all contained IWindows according to their
            Z values and Layers.  This will usually result in
            clicks being received in the same order that objects
            are drawn, which is what the user will usually expect
            </summary>
        </member>
        <member name="T:FlatRedBall.Gui.FocusUpdateDelegate">
            <summary>
            Event raised by the Keyboard every frame on the InputManager's ReceivingInput reference.
            </summary>
            <param name="inputReceiver">The current IInputReceiver.</param>
        </member>
        <member name="T:FlatRedBall.Gui.IInputReceiver">
            <summary>
            Interface for objects which can receive input from the InputManager.
            </summary>
            <remarks>
            
            This interface should only be used for Gui elements specifically because the GuiManager will change the InputManager.ReceivingInput
            reference depending on the activity of the cursor and other Gui elements.  The InputManager will only keep track of one IInputReceiver
            at a time, and each IInputReceiver needs to assign itself as the target for input through the static InputManager.ReceivingInput field.
            
            <para>Since this is only used for Gui elements, this interface is rarely used in games.</para>
            </remarks>
        </member>
        <member name="M:FlatRedBall.Gui.IInputReceiver.OnFocusUpdate">
            <summary>
            Called by the InputManager automatically every frame.
            </summary>
            <remarks>
            The implementation of this method should raise the FocusUpdate event.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Gui.IInputReceiver.OnGainFocus">
            <summary>
            Called by the engine automatically when an IInputReceiver gains focus.
            </summary>
            <remarks>
            The implementation of this method should raise the GainFocus event.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Gui.IInputReceiver.LoseFocus">
            <summary>
            Called by the engine automatically when an IInputReceiver loses focus.
            </summary>
        </member>
        <member name="M:FlatRedBall.Gui.IInputReceiver.ReceiveInput">
            <summary>
            The method called every frame by the InputManager in the Update method
            if this is the IInputReceiver referenced by the InputManager.  This does
            not have to be called automatically.
            </summary>
        </member>
        <member name="P:FlatRedBall.Gui.IInputReceiver.TakingInput">
            <summary>
            A method which determines whether the instance can currently receive focus as an input receiver.
            </summary>
            <returns>Whether the instance is taking input.</returns>
        </member>
        <member name="P:FlatRedBall.Gui.IInputReceiver.NextInTabSequence">
            <summary>
            The next IInputReceiver in the tab sequence.  In other words, if this element is currently
            receiving input (is the InputManager's ReceivingInput), pressing tab will set the NextInTabSequence
            to be the InputManager's ReceivingInput.
            </summary>
        </member>
        <member name="E:FlatRedBall.Gui.IInputReceiver.FocusUpdate">
            <summary>
            Event raised every frame if there is a non-null InputManager.ReceivingInput.  This allows
            the IInputReceiver to perform custom every-frame logic when it has focus, such as a ListBox
            listening for the Delete key to delete highlighted elements.
            </summary>
        </member>
        <member name="T:FlatRedBall.Gui.PropertyGridMemberSettings">
            <summary>
            Object which holds a list of strings that can be used
            to tell the PropertyGrid which members to exclude when
            creating a new PropertyGrid of a specific type.
            </summary>
        </member>
        <member name="T:FlatRedBall.Gui.WindowArray">
            <summary>
            Summary description for WindowArray.
            </summary>
        </member>
        <member name="T:FlatRedBall.Input.AnalogButton">
            <summary>
            A button or single-axis input device which can return a range of values like the shoulder triggers.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.AnalogButton.Position">
            <summary>
            The current value of the AnalogButton.
            </summary>
        </member>
        <member name="T:FlatRedBall.Input.AnalogStick">
            <summary>
            A two-axis input device which can return a range of values on both axes.
            </summary>
        </member>
        <member name="F:FlatRedBall.Input.AnalogStick.mDPadOnValue">
            <summary>
            The mDPadOnValue and mDPadOffValue
            values are used to simulate D-Pad control
            with the analog stick.  When the user is above
            the absolute value of the mDPadOnValue then it is
            as if the DPad is held down.  To release the DPad the
            value must come under the off value.  If there was only
            one value then the user could hold the stick near the threshold
            and get rapid on/off values due to the inaccuracy of the analog stick. 
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.AnalogStick.Angle">
            <summary>
            Returns the angle of the analog stick.  0 is to the right, Pi/2 is up, Pi is to the left, and 3*Pi/2 is down.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.AnalogStick.Magnitude">
            <summary>
            Gets the distance from the center position of the analog stick.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.AnalogStick.Position">
            <summary>
            The position of the analog stick.  The range for each component is -1 to 1.
            </summary>
        </member>
        <member name="T:FlatRedBall.Input.InputManager">
            <summary>
            Containing functionality for keyboard, mouse, and joystick input.
            </summary>
        </member>
        <member name="F:FlatRedBall.Input.InputManager.mReceivingInput">
            <summary>
            Reference to an IInputReceiver which will have its ReceiveInput method called every frame.
            </summary>
            <remarks>
            If this reference is not null, the reference's ReceiveInput method is called in the InputManager.GetInputState method.
            <seealso cref="T:FlatRedBall.Gui.IInputReceiver"/>
            </remarks>
        </member>
        <member name="M:FlatRedBall.Input.Keyboard.KeyTyped(Microsoft.Xna.Framework.Input.Keys)">
            <summary>
            Returns whether a key was "typed".  A type happens either when the user initially pushes a key down, or when
            it gets typed again from holding the key down.  This works similar to how the keyboard types in text editors
            when holding down a key.
            </summary>
            <param name="key">The key to check for.</param>
            <returns>Whether the key was typed.</returns>
        </member>
        <member name="F:FlatRedBall.Input.Mouse.mXAt100Units">
            <summary>
            The camera-relative X coordinate position of the Mouse at 100 units away.
            </summary>
        </member>
        <member name="M:FlatRedBall.Input.Mouse.IsOn(FlatRedBall.Math.Geometry.Circle)">
            <summary>
            Returns whether the Mouse is over the argument Circle.
            </summary>
            <param name="circle">The Circle to check.</param>
            <returns>Whether the mouse is over the argument Circle.</returns>
        </member>
        <member name="M:FlatRedBall.Input.Mouse.IsOn3D``1(``0,System.Boolean,FlatRedBall.Camera,Microsoft.Xna.Framework.Vector3@)">
            <summary>
            Determines whether the Mouse is over the objectToTest argument.
            </summary>
            <remarks>
            If a Text object is passed this method will only work appropriately if 
            the Text object has centered text.  See the IsOn3D overload which takes a Text argument.
            </remarks>
            <typeparam name="T">The type of the first argument.</typeparam>
            <param name="objectToTest">The object to test if the mouse is on.</param>
            <param name="relativeToCamera">Whether the object's Position is relative to the Camera.</param>
            <param name="camera"></param>
            <param name="intersectionPoint">The point where the intersection between the ray casted from the 
            mouse into the distance and the argument objectToTest occurred.</param>
            <returns>Whether the mouse is over the argument objectToTest</returns>
        </member>
        <member name="P:FlatRedBall.Input.Mouse.GrabbedPositionedObject">
            <summary>
            Grabs a PositionedObject.  The PositionedObject will automatically update
            its position according to mouse movement while the reference remains.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.Mouse.X">
            <summary>
            Returns the client rectangle-relative X pixel coordinate of the cursor.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.Mouse.Y">
            <summary>
            Returns the client rectangle-Y pixel coordinate of the cursor.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.Mouse.XChange">
            <summary>
            The number of pixels that the mouse has moved on the
            X axis during the last frame.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.Mouse.YChange">
            <summary>
            The number of pixels that the mouse has moved on the
            Y axis during the last frame.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.Mouse.XVelocity">
            <summary>
            The rate of change of the X property in 
            pixels per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.Mouse.YVelocity">
            <summary>
            The rate of change of the Y property in 
            pixels per second.
            </summary>
        </member>
        <member name="T:FlatRedBall.Input.Recording.IInputRecord">
            <summary>
            Base interface for class which can record input.  
            </summary>
        </member>
        <member name="T:FlatRedBall.Input.Recording.InputEvent`2">
            <summary>
            Information about an input event that has occurred.  This class can be used for playbacks
            or for saving input information.
            </summary>
            <typeparam name="EventType">The event type.  This can be enum values defined by the end user or enums
            provided by other libraries, such as a Keys value representing which key experienced the event.</typeparam>
            <typeparam name="EventValue">The type of actions that can be performed on the given EventType.  For example
            this could be an enum defining whether a key was pressed or released.</typeparam>
        </member>
        <member name="T:FlatRedBall.Utilities.ITimed">
            <summary>
            Interface for an object which has a specified time.
            </summary>
        </member>
        <member name="P:FlatRedBall.Utilities.ITimed.Time">
            <summary>
            The time associated with the object.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.Recording.InputRecordBase`2.TimePlaybackStarted">
            <summary>
            Gets and sets the time that playback started.  Setting this value simulates changing
            when the playback started.
            </summary>
        </member>
        <member name="M:FlatRedBall.Input.Xbox360GamePad.CreateDefaultButtonMap">
            <summary>
            Creates a ButtomMap for this controller using the default bindings.  This is 
            a quick way to simulate an Xbox360 controller using the keyboard.
            </summary>
            <remarks>
            This creates the following bindings:
            * Left analog stick = arrow keys
            * A button = A key
            * B button = S key
            * X button = Q key
            * Y button = W key
            * Left trigger = E key
            * Right trigger = R key
            * Left shoulder = D key
            * Right Shoulder = F key
            * Back button = Backspace key
            * Start button = Enter key
            
            This will not simulate that the controller is connected, so you will have to set 
            FakeIsConnected to true if your game checks the connected state.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Input.Xbox360GamePad.IgnoreButtonForOneFrame(FlatRedBall.Input.Xbox360GamePad.Button)">
            <summary>
            Makes this Xbox360Gamepad ignore the argument button for the rest of the current frame.
            </summary>
            <param name="buttonToIgnore">The button that should be ignored for the rest of the current frame.</param>
        </member>
        <member name="M:FlatRedBall.Input.Xbox360GamePad.SetVibration(System.Single,System.Single)">
            <summary>
            Sets the vibration of the game pad.
            </summary>
            <param name="leftMotor">The low-frequency motor.  Set between 0.0f and 1.0f</param>
            <param name="rightMotor">The high-frequency  motor.  Set between 0.0f and 1.0f</param>
            <returns>True if the vibration motors were successfully set; false if the controller
            was unable to process the request.
            </returns>
        </member>
        <member name="P:FlatRedBall.Input.Xbox360GamePad.FakeIsConnected">
            <summary>
            This value can force an Xbox360GamePad's 
            IsConnected to be true even if the controller
            is not connected.  This can be used if game logic
            requires a certain number of GamePads to be connected.
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.Xbox360GamePad.LeftTrigger">
            <summary>
            Returns the left trigger's current value.  When not pressed this property returns
            0.0f.  When fully pressed this property returns 1.0f;
            </summary>
        </member>
        <member name="P:FlatRedBall.Input.Xbox360GamePad.RightTrigger">
            <summary>
            Returns the right trigger's current value.  When not pressed this property returns
            0.0f.  When fully pressed this property returns 1.0f;
            </summary>
        </member>
        <member name="T:FlatRedBall.Input.Xbox360GamePad.Button">
            <summary>
            Enumeration representing the buttons on the Xbox360 controller.  The values for each
            entry matches the value of the Xbox 360 button index in Managed DirectX.  This improves
            portability between FlatRedBall Managed DirectX and FlatRedBall XNA.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.DelegateInstruction">
            <summary>
            Represents an Instruction which can execute an instruction.  This is commonly used
            with IInstructables to perform logic at a delayed time.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Instruction">
            <summary>
            Class that supports the execution of custom logic at a future time.
            </summary>
            <remarks>
            Instructions are either stored and executed through the InstructionManager or
            managed IInstructable instances.
            </remarks>
        </member>
        <member name="F:FlatRedBall.Instructions.Instruction.mTimeToExecute">
            <summary>
            The system time to execute the instruction at.
            </summary>
        </member>
        <member name="F:FlatRedBall.Instructions.Instruction.mCycleTime">
            <summary>
            The amount of time to add to the instruction for cycled execution.  Default of 0
            instructs the executing logic to not cycle the Instruction.
            </summary>
        </member>
        <member name="M:FlatRedBall.Instructions.Instruction.Clone">
            <summary>
            Creates and redturns a member-wise clone.
            </summary>
            <returns>The clone of the calling instance.</returns>
        </member>
        <member name="M:FlatRedBall.Instructions.Instruction.Execute">
            <summary>
            Executes the Instruction.
            </summary>
        </member>
        <member name="M:FlatRedBall.Instructions.Instruction.ExecuteOn(System.Object)">
            <summary>
            Executes an instruction on the target passed as an argument
            </summary>
        </member>
        <member name="P:FlatRedBall.Instructions.Instruction.TimeToExecute">
            <summary>
            The system time to execute the instruction at.
            </summary>
            <remarks>
            The TimeManager.CurrentTime property is used for comparisons.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Instructions.Instruction.CycleTime">
            <summary>
            The amount of time to add to the instruction for cycled execution.  Default of 0 
            instructs the executing logic to not cycle the Instruction.
            </summary>
        </member>
        <member name="P:FlatRedBall.Instructions.Instruction.Target">
            <summary>
            Gets reference to the object that is the target of the Instruction.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.GenericInstruction">
            <summary>
            Base class for typed Instructions.  This type can be used
            to identify if an Instruction is a generic Instruction.
            </summary>
        </member>
        <member name="M:FlatRedBall.Instructions.GenericInstruction.SetTarget(System.Object)">
            <summary>
            Sets the object which this instruction operates on.
            </summary>
            <param name="target">The object that this instruction operates on.</param>
        </member>
        <member name="P:FlatRedBall.Instructions.GenericInstruction.TypeAsString">
            <summary>
            Returns the FullName of the Type that this GenericInstruction operates on.
            </summary>
        </member>
        <member name="P:FlatRedBall.Instructions.GenericInstruction.Member">
            <summary>
            The Name of the member (such as "X" or "Width") that this instruction modifies.
            </summary>
        </member>
        <member name="P:FlatRedBall.Instructions.GenericInstruction.MemberType">
            <summary>
            
            </summary>
        </member>
        <member name="P:FlatRedBall.Instructions.GenericInstruction.MemberTypeAsString">
            <summary>
            The FullName of the type of the Member that is being modified.  For example, this would return "System.String" for a float member like X.
            </summary>
        </member>
        <member name="P:FlatRedBall.Instructions.GenericInstruction.MemberValueAsString">
            <summary>
            Returns a ToString() representation of the member.
            </summary>
        </member>
        <member name="P:FlatRedBall.Instructions.GenericInstruction.MemberValueAsObject">
            <summary>
            Returns the value of the member casted as an object.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Instruction`2">
            <summary>
            Generic method of setting a particular variable at a given time.
            </summary>
            <typeparam name="TargetType">The type of object to operate on (ex. PositionedObject)</typeparam>
            <typeparam name="ValueType">The type of the value.  For example, the X value in PositionedObject is float.</typeparam>
        </member>
        <member name="M:FlatRedBall.Instructions.Instruction`2.#ctor">
            <summary>
            Used when deserializing .istx files.  Not to be called otherwise.
            </summary>
        </member>
        <member name="M:FlatRedBall.Instructions.Instruction`2.#ctor(`0,`1,System.Double)">
            <summary>
            To be used when inheriting from this class since you won't need the property's name
            </summary>
            <param name="targetObject">The object to operate on (ex. a PositionedObject)</param>
            <param name="value">The value to set to the property when the instruction is executed</param>
            <param name="timeToExecute">Absolute time to executing this instruction</param>
        </member>
        <member name="M:FlatRedBall.Instructions.Instruction`2.#ctor(`0,System.String,`1,System.Double)">
            <param name="targetObject">The object to operate on (ex. a PositionedObject)</param>
            <param name="member">The name of the property to set</param>
            <param name="value">The value to set to the property when the instruction is executed</param>
            <param name="timeToExecute">Absolute time to executing this instruction</param>
        </member>
        <member name="M:FlatRedBall.Instructions.Instruction`2.Execute">
            <summary>
            Uses reflection to set the target object's property.
            </summary>
            <remarks>If you need more performance out of a section, you can simply
            inherit from this generic class and override the Execute method to avoid 
            delegating the call to the late binder class.</remarks>
        </member>
        <member name="T:FlatRedBall.Instructions.InstructionList">
            <summary>
            List of Instructions which also provides methods for common
            actions such as sorting and executing the contained Instructions.
            </summary>
        </member>
        <member name="M:FlatRedBall.Instructions.InstructionList.Execute">
            <summary>
            Executes all contained Instructions in order of index.  Contained instructions are not removed.
            </summary>
        </member>
        <member name="M:FlatRedBall.Instructions.InstructionManager.RelativeRotateToAccurate(FlatRedBall.PositionedObject,System.Single,System.Single,System.Single,System.Double)">
            <summary>
            Sets the relative rotational velcoities of a PositionedObject so that it rotates 
            to the desired relative orientation in a given amount of time.
            </summary>
            <remarks>
            This method first sets the relative rotational velocities of the PositionedObject then 
            sets instructions to stop the relative rotational velocities and
            finally sets the rotational values to fix any problems introduced by timing.
            </remarks>
            <param name="positionedObject">The Sprite to rotate.</param>
            <param name="rotationX">The final relative rotX value.</param>
            <param name="rotationY">The final relative rotY value.</param>
            <param name="rotationZ">The final relative rotZ value.</param>
            <param name="secondsToTake">The number of seconds to take in the rotation.</param>
        </member>
        <member name="M:FlatRedBall.Instructions.InstructionManager.UncastedSetMember(System.Object,System.String,System.Object)">
            <summary>
            Sets a member on an uncasted object.  If the type of objectToSetOn is known, use
            LateBinder for performance and safety reasons.
            </summary>
            <param name="objectToSetOn">The object whose field or property should be set.</param>
            <param name="memberName">The name of the field or property to set.</param>
            <param name="valueToSet">The value of the field or property to set.</param>
        </member>
        <member name="M:FlatRedBall.Instructions.InstructionManager.Update(System.Double)">
            <summary>
            Executes contained instructions.
            </summary>
            <param name="currentTime">The number of seconds since the start of application execution.</param>
        </member>
        <member name="P:FlatRedBall.Instructions.InstructionManager.Instructions">
            <summary>
            Holds instructions which will be executed by the InstructionManager
            in its Update method (called automatically by FlatRedBallServices).
            </summary>
            <remarks>
            Instructions for managed PositionedObjects like Sprites and Text objects
            should be added to the object's internal InstructionList.  This prevents instructions
            from referencing removed objects and helps with debugging.  This list should only be used
            on un-managed objects or for instructions which do not associate with a particular object.
            </remarks>        
        </member>
        <member name="P:FlatRedBall.Instructions.InstructionManager.IsExecutingInstructions">
            <summary>
            Whether the (automatically called) Update method executes instructions.  Default true.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.InstructionSet">
            <summary>
            Represents a set of KeyframeLists which can be applied to objects or
            used to perform scripted events.
            </summary>
            <remarks>
            When used to perform scripted events, InstructionSets can be compared
            to texture animation.  There are many levels of Lists in an InstructionSet.
            The following comparison to AnimationChainLists provides some clarity to the
            layers:
            <para>
            InstructionSet (List of KeyframeLists) : AnimationChainList (List of AnimationChains)
            </para>
            <para>
            KeyframeList (List of Keyframes - aka InstructionLists) : AnimationChain (List of AnimationFrames)
            </para>
            <para>
            InstructionList (Applied to an object to change any properties) : AnimationFrame (Applied to an object to change its appearance);
            </para>
            </remarks>
        </member>
        <member name="P:FlatRedBall.Instructions.InstructionSet.Item(System.String)">
            <summary>
            Gets a KeyframeList by name.  Returns null if none is found
            </summary>
            <param name="keyframeListName">Name of the KeyframeList to return.</param>
            <returns>Reference to the KeyframeList with the specified name.</returns>
        </member>
        <member name="T:FlatRedBall.Instructions.InstructionBlueprint">
            <summary>
            A class that can be used to quickly create create identical Instructions for individual targets.
            </summary>
            <remarks>Cannot be serialized as an InstructionBlueprint, but can be converted into an InstructionSave via 
            InstructionSave.FromInstructionBlueprint().</remarks>
        </member>
        <member name="M:FlatRedBall.Instructions.InstructionBlueprint.BuildInstruction(System.Object,System.Double)">
            <summary>
            Builds an Instruction using the information stored in the InstructionBlueprint.
            </summary>
            <param name="target">The object that the returned Instruction will execute on</param>
            <param name="currentTime">The current time to use as an offset for the Instruction's Time of execution</param>
            <throws exception="ArgumentException">If target's type is not this InstructionBlueprint's TargetType</throws>
            <throws exception="NullReferenceException">If this InstructionBlueprint was fully initialized before this call to BuildInstruction.</throws>
            <returns>An Instruction created from this InstructionBlueprint's information</returns>
        </member>
        <member name="T:FlatRedBall.Instructions.InstructionBlueprintList">
            <summary>
            A list of InstructionBlueprint objects
            
            <remarks>Can be used to quickly create InstructionLists for a specific target.</remarks>
            </summary>
        </member>
        <member name="M:FlatRedBall.Instructions.InstructionBlueprintList.BuildInstructionList(System.Object,System.Double)">
            <summary>
            Creates an InstructionList containing Instructions that were created by the InstructionBlueprints in
            this list. 
            </summary>
            <param name="target">The object that the Instructions will be executed on.</param>
            <param name="currentTime">The current time to be used as an offset for each Instruction's execution.</param>
        </member>
        <member name="T:FlatRedBall.Content.Instructions.InstructionBlueprintListSave">
            <summary>
            A save class containing a list of InstructionSaves.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Interpolation.DoubleInterpolator">
            <summary>
            Provides interpolation for doubles - used for interpolating between
            Keyframes in InstructionSets.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Interpolation.IInterpolator`1">
            <summary>
            Generic interface for an interpolator.  These are used to interpolate
            Keyframes in InstructionSets.
            </summary>
            <typeparam name="T">The type that the Interpolator interpolates.</typeparam>
        </member>
        <member name="T:FlatRedBall.Instructions.Interpolation.IInterpolator">
            <summary>
            Base interface for interpolators - to be used in lists.
            </summary>
        </member>
        <member name="M:FlatRedBall.Instructions.Interpolation.IInterpolator`1.Interpolate(`0,`0,System.Double)">
            <summary>
            Interpolates between the first two arguments using the third as the interpolation value.
            </summary>
            <param name="start">The first value to use in interpolation.</param>
            <param name="end">The second value to use in interpolation.</param>
            <param name="interpolationValue">The interpolation value - should be between 0 and 1.</param>
            <returns>The result of the interpolation.</returns>
        </member>
        <member name="M:FlatRedBall.Instructions.Interpolation.DoubleInterpolator.Interpolate(System.Double,System.Double,System.Double)">
            <summary>
            Interolates between the two argument doubles using the interpolation value.
            </summary>
            <param name="start">The first or starting value.</param>
            <param name="end">The end value.</param>
            <param name="interpolationValue">A value between 0 and 1 that determines how
            the values are interpolated.</param>
            <returns>The interpolated value.</returns>
        </member>
        <member name="T:FlatRedBall.Instructions.Interpolation.FloatAngleInterpolator">
            <summary>
            An interpolator which interpolates between angle floats.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Interpolation.FloatInterpolator">
            <summary>
            An IInterpolator which can interpolate float values.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Interpolation.IntInterpolator">
            <summary>
            An IInterpolator which can interpolate integer values.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Interpolation.LongInterpolator">
            <summary>
            Provides interplation methods for longs.
            </summary>
        </member>
        <member name="P:FlatRedBall.Instructions.KeyframeList.Item(System.String)">
            <summary>
            Gets a KeyframeList by name.  Returns null if none is found
            </summary>
            <param name="keyframeName">Name of the KeyframeList to return.</param>
            <returns>Reference to the KeyframeList with the specified name.</returns>
        </member>
        <member name="T:FlatRedBall.Instructions.MethodInstruction">
            <summary>
            Base abstract class for the generic MethodInstruction class.
            </summary>
            <remarks>
            This class is provided to support lists of MethodInstructions.
            </remarks>
        </member>
        <member name="T:FlatRedBall.Instructions.MethodInstruction`1">
            <summary>
            Generic Instruction class which calls a method when executed.
            </summary>
            <typeparam name="T">The type of the object which contains the method to be called.</typeparam>
        </member>
        <member name="F:FlatRedBall.Instructions.Pause.UnpauseInstruction`1.mCreationTime">
            <summary>
            The game time when the instruction was created.  This is compared to the
            TimeManager's CurrentTime property when Execute is called to delay the instructions
            by the appropriate amount of time.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Pause.TimedRemovalUnpause">
            <summary>
            Used to pause the timed removal list in the SpriteManager
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Reflection.LateBinder`1">
            <summary>
            Provides a simple interface to late bind a class.
            </summary>
            <remarks>The first time you attempt to get or set a property, it will dynamically generate the get and/or set 
            methods and cache them internally.  Subsequent gets uses the dynamic methods without having to query the type's 
            meta data.</remarks>
        </member>
        <member name="M:FlatRedBall.Instructions.Reflection.LateBinder`1.SetProperty``1(System.Object,System.String,``0)">
            <summary>
            Sets the supplied property on the supplied target
            </summary>
            <typeparam name="K">the type of the value</typeparam>
        </member>
        <member name="M:FlatRedBall.Instructions.Reflection.LateBinder`1.GetProperty``1(`0,System.String)">
            <summary>
            Gets  the supplied property on the supplied target
            </summary>
            <typeparam name="K">The type of the property being returned</typeparam>
        </member>
        <member name="P:FlatRedBall.Instructions.Reflection.LateBinder`1.Target">
            <summary>
            The instance that this binder operates on by default
            </summary>
            <remarks>This can be overridden by the caller explicitly passing a target to the indexer</remarks>
        </member>
        <member name="P:FlatRedBall.Instructions.Reflection.LateBinder`1.Item(System.String)">
            <summary>
            Gets or Sets the supplied property on the contained <seealso cref="P:FlatRedBall.Instructions.Reflection.LateBinder`1.Instance"/>
            </summary>
            <exception cref="T:System.InvalidOperationException">Throws if the contained Instance is null.</exception>
        </member>
        <member name="P:FlatRedBall.Instructions.Reflection.LateBinder`1.Item(`0,System.String)">
            <summary>
            Gets or Sets the supplied property on the supplied target
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Reflection.LateBinder`1.DynamicMethodCompiler">
            <summary>
            provides helper functions for late binding a class
            </summary>
            <remarks>
            Class found here:
            http://www.codeproject.com/useritems/Dynamic_Code_Generation.asp
            </remarks>
        </member>
        <member name="T:FlatRedBall.Instructions.Reflection.Operator">
            <summary>
            Enumeration used to define relationships between two values.  Used in MemberCondition.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Reflection.MemberCondition">
            <summary>
            Base class for the generic MemberCondition class provided for List storage.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Reflection.MemberCondition`2">
            <summary>
            Class which can be used to query the relationship of a member relative to a value.  This
            can be used in scripting and trigger data.
            </summary>
            <typeparam name="ObjectType">The type of the object containing the property to compare.</typeparam>
            <typeparam name="PropertyType">The type of the property to compare.</typeparam>
        </member>
        <member name="T:FlatRedBall.Instructions.Reflection.PropertyCollection">
            <summary>
            Stores a list of properties and values for those properties (PropertyValuePair)
            </summary>
            <remarks>
            This class can be used to either store states of objects or abstract the setting of states.
            </remarks>
        </member>
        <member name="T:FlatRedBall.Instructions.Reflection.TypedMemberBase">
            <summary>
            Base class for the generic TypedMember class.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.Reflection.TypedMember`1">
            <summary>
            Class containing information about a member which can tell if two instances have
            identical members.
            </summary>
            <typeparam name="T">The type of the member.</typeparam>
        </member>
        <member name="T:FlatRedBall.Instructions.ScriptedAnimations.AnimationSequence">
            <summary>
            A list of TimedKeyframeLists which represents an Animation which can be
            played.
            </summary>
            <remarks>
            This class interfaces with the InstructionSetSaveList class when saving/loading.
            </remarks>
        </member>
        <member name="T:FlatRedBall.Instructions.StaticMethodInstruction">
            <summary>
            Instruction which calls a Static class' method.
            </summary>
            <remarks>
            This class must be used instead of 
            FlatRedBall.Instructions.MethodInstruction
            because MethodInstruction takes a reference
            to an instance of the object containing the method
            to call.  If the object is a static class then the
            compiler will complain about static objects being used
            as arguments to methods.
            </remarks>
        </member>
        <member name="T:FlatRedBall.Instructions.TimedKeyframeList">
            <summary>
            A list of timed keyframes which can be used to play an animation.
            </summary>
        </member>
        <member name="T:FlatRedBall.Instructions.VelocityValueRelationship">
            <summary>
            Stores the related state, velocity, and acceleration values.
            </summary>
            <remarks>
            This is used when interpolating instructions.
            </remarks>
        </member>
        <member name="T:FlatRedBall.IO.BmpLoader">
            <summary>
            Class responsible for creating ImageDatas from BMP files.
            </summary>
        </member>
        <member name="M:FlatRedBall.IO.BmpLoader.GetPixelData(System.String)">
            <summary>
            ImageData takes a fileName (string) and loads the BMP from the file. 
            </summary>
            <param name="fileName"></param>
            <returns>a new ImageData, containing the width, height, and data of the BMP that was loaded</returns>
        </member>
        <member name="T:FlatRedBall.IO.Csv.CsvFileManager">
            <summary>
            Class providing methods for interacting with .CSV spreadsheet files.
            </summary>
        </member>
        <member name="T:FlatRedBall.IO.Csv.CsvReader">
            <summary>
            Represents a reader that provides fast, non-cached, forward-only access to CSV data.  
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.DefaultBufferSize">
            <summary>
            Defines the default buffer size.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.DefaultDelimiter">
            <summary>
            Defines the default delimiter character separating each field.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.DefaultQuote">
            <summary>
            Defines the default quote character wrapping every field.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.DefaultEscape">
            <summary>
            Defines the default escape character letting insert quotation characters inside a quoted field.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.DefaultComment">
            <summary>
            Defines the default comment character indicating that a line is commented out.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._fieldHeaderComparer">
            <summary>
            Contains the field header comparer.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._reader">
            <summary>
            Contains the <see cref="T:TextReader"/> pointing to the CSV file.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._bufferSize">
            <summary>
            Contains the buffer size.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._comment">
            <summary>
            Contains the comment character indicating that a line is commented out.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._escape">
            <summary>
            Contains the escape character letting insert quotation characters inside a quoted field.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._delimiter">
            <summary>
            Contains the delimiter character separating each field.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._quote">
            <summary>
            Contains the quotation character wrapping every field.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._trimSpaces">
            <summary>
            Indicates if spaces at the start and end of a field are trimmed.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._hasHeaders">
            <summary>
            Indicates if field names are located on the first non commented line.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._defaultParseErrorAction">
            <summary>
            Contains the default action to take when a parsing error has occured.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._missingFieldAction">
            <summary>
            Contains the action to take when a field is missing.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._supportsMultiline">
            <summary>
            Indicates if the reader supports multiline.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._skipEmptyLines">
            <summary>
            Indicates if the reader will skip empty lines.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._initialized">
            <summary>
            Indicates if the class is initialized.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._fieldHeaders">
            <summary>
            Contains the field headers.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._fieldHeaderIndexes">
            <summary>
            Contains the dictionary of field indexes by header. The key is the field name and the value is its index.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._currentRecordIndex">
            <summary>
            Contains the current record index in the CSV file.
            A value of <see cref="M:Int32.MinValue"/> means that the reader has not been initialized yet.
            Otherwise, a negative value means that no record has been read yet.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._nextFieldStart">
            <summary>
            Contains the starting position of the next unread field.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._nextFieldIndex">
            <summary>
            Contains the index of the next unread field.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._fields">
            <summary>
            Contains the array of the field values for the current record.
            A null value indicates that the field have not been parsed.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._fieldCount">
            <summary>
            Contains the maximum number of fields to retrieve for each record.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._buffer">
            <summary>
            Contains the read buffer.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._bufferLength">
            <summary>
            Contains the current read buffer length.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._eof">
            <summary>
            Indicates if the end of the reader has been reached.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._firstRecordInCache">
            <summary>
            Indicates if the first record is in cache.
            This can happen when initializing a reader with no headers
            because one record must be read to get the field count automatically
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._missingFieldsFlag">
            <summary>
            Indicates if fields are missing for the current record.
            Resets after each successful record read.
            </summary>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Int32)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="bufferSize">The buffer size in bytes.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char,System.Int32)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <param name="bufferSize">The buffer size in bytes.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char,System.Char,System.Char,System.Char,System.Boolean)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <param name="quote">The quotation character wrapping every field (default is ''').</param>
            <param name="escape">
            The escape character letting insert quotation characters inside a quoted field (default is '\').
            If no escape character, set to '\0' to gain some performance.
            </param>
            <param name="comment">The comment character indicating that a line is commented out (default is '#').</param>
            <param name="trimSpaces"><see langword="true"/> if spaces at the start and end of a field are trimmed, otherwise, <see langword="false"/>. Default is <see langword="true"/>.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char,System.Char,System.Char,System.Char,System.Boolean,System.Int32)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <param name="quote">The quotation character wrapping every field (default is ''').</param>
            <param name="escape">
            The escape character letting insert quotation characters inside a quoted field (default is '\').
            If no escape character, set to '\0' to gain some performance.
            </param>
            <param name="comment">The comment character indicating that a line is commented out (default is '#').</param>
            <param name="trimSpaces"><see langword="true"/> if spaces at the start and end of a field are trimmed, otherwise, <see langword="false"/>. Default is <see langword="true"/>.</param>
            <param name="bufferSize">The buffer size in bytes.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="bufferSize"/> must be 1 or more.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.OnParseError(FlatRedBall.IO.Csv.ParseErrorEventArgs)">
            <summary>
            Raises the <see cref="M:ParseError"/> event.
            </summary>
            <param name="e">The <see cref="T:FlatRedBall.IO.Csv.ParseErrorEventArgs"/> that contains the event data.</param>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.GetFieldHeaders">
            <summary>
            Gets the field headers.
            </summary>
            <returns>The field headers or an empty array if headers are not supported.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.EnsureInitialize">
            <summary>
            Ensures that the reader is initialized.
            </summary>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.GetFieldIndex(System.String)">
            <summary>
            Gets the field index for the provided header.
            </summary>
            <param name="header">The header to look for.</param>
            <returns>The field index for the provided header. -1 if not found.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.CopyCurrentRecordTo(System.String[])">
            <summary>
            Copies the field array of the current record to a one-dimensional array, starting at the beginning of the target array.
            </summary>
            <param name="array"> The one-dimensional <see cref="T:Array"/> that is the destination of the fields of the current record.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="array"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.CopyCurrentRecordTo(System.String[],System.Int32)">
            <summary>
            Copies the field array of the current record to a one-dimensional array, starting at the beginning of the target array.
            </summary>
            <param name="array"> The one-dimensional <see cref="T:Array"/> that is the destination of the fields of the current record.</param>
            <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            	<paramref name="index"/> is les than zero or is equal to or greater than the length <paramref name="array"/>. 
            </exception>
            <exception cref="T:System.InvalidOperationException">
            No current record.
            </exception>
            <exception cref="T:System.ArgumentException">
            	The number of fields in the record is greater than the available space from <paramref name="index"/> to the end of <paramref name="array"/>.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.GetCurrentRawData">
            <summary>
            Gets the current raw CSV data.
            </summary>
            <remarks>Used for exception handling purpose.</remarks>
            <returns>The current raw CSV data.</returns>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.IsWhiteSpace(System.Char)">
            <summary>
            Indicates whether the specified Unicode character is categorized as white space.
            </summary>
            <param name="c">A Unicode character.</param>
            <returns><see langword="true"/> if <paramref name="c"/> is white space; otherwise, <see langword="false"/>.</returns>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.MoveTo(System.Int64)">
            <summary>
            Moves to the specified record index.
            </summary>
            <param name="record">The record index.</param>
            <exception cref="T:ArgumentOutOfRangeException">
            	Record index must be > 0.
            </exception>
            <exception cref="T:InvalidOperationException">
            	Cannot move to a previous record in forward-only mode.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.ParseNewLine(System.Int32@)">
            <summary>
            Parses a new line delimiter.
            </summary>
            <param name="pos">The starting position of the parsing. Will contain the resulting end position.</param>
            <returns><see langword="true"/> if a new line delimiter was found; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.IsNewLine(System.Int32)">
            <summary>
            Determines whether the character at the specified position is a new line delimiter.
            </summary>
            <param name="pos">The position of the character to verify.</param>
            <returns>
            	<see langword="true"/> if the character at the specified position is a new line delimiter; otherwise, <see langword="false"/>.
            </returns>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.ReadBuffer">
            <summary>
            Fills the buffer with data from the reader.
            </summary>
            <returns><see langword="true"/> if data was successfully read; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.ReadField(System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Reads the field at the specified index.
            Any unread fields with an inferior index will also be read as part of the required parsing.
            </summary>
            <param name="field">The field index.</param>
            <param name="initializing">Indicates if the reader is currently initializing.</param>
            <param name="discardValue">Indicates if the value(s) are discarded.</param>
            <returns>
            The field at the specified index. 
            A <see langword="null"/> indicates that an error occured or that the last field has been reached during initialization.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="field"/> is out of range.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            	There is no current record.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.ReadNextRecord">
            <summary>
            Reads the next record.
            </summary>
            <returns><see langword="true"/> if a record has been successfully reads; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.ReadNextRecord(System.Boolean,System.Boolean)">
            <summary>
            Reads the next record.
            </summary>
            <param name="onlyReadHeaders">
            Indicates if the reader will proceed to the next record after having read headers.
            <see langword="true"/> if it stops after having read headers; otherwise, <see langword="false"/>.
            </param>
            <param name="skipToNextLine">
            Indicates if the reader will skip directly to the next line without parsing the current one. 
            To be used when an error occurs.
            </param>
            <returns><see langword="true"/> if a record has been successfully reads; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.SkipEmptyAndCommentedLines(System.Int32@)">
            <summary>
            Skips empty and commented lines.
            If the end of the buffer is reached, its content be discarded and filled again from the reader.
            </summary>
            <param name="pos">
            The position in the buffer where to start parsing. 
            Will contains the resulting position after the operation.
            </param>
            <returns><see langword="true"/> if the end of the reader has not been reached; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.DoSkipEmptyAndCommentedLines(System.Int32@)">
            <summary>
            <para>Worker method.</para>
            <para>Skips empty and commented lines.</para>
            </summary>
            <param name="pos">
            The position in the buffer where to start parsing. 
            Will contains the resulting position after the operation.
            </param>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.SkipWhiteSpaces(System.Int32@)">
            <summary>
            Skips whitespace characters.
            </summary>
            <param name="pos">The starting position of the parsing. Will contain the resulting end position.</param>
            <returns><see langword="true"/> if the end of the reader has not been reached; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.SkipToNextLine(System.Int32@)">
            <summary>
            Skips ahead to the next NewLine character.
            If the end of the buffer is reached, its content be discarded and filled again from the reader.
            </summary>
            <param name="pos">
            The position in the buffer where to start parsing. 
            Will contains the resulting position after the operation.
            </param>
            <returns><see langword="true"/> if the end of the reader has not been reached; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.HandleParseError(System.Exception,System.Int32@)">
            <summary>
            Handles a parsing error.
            </summary>
            <param name="error">The parsing error that occured.</param>
            <param name="pos">The current position in the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="error"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.HandleMissingField(System.String,System.Int32,System.Int32@)">
            <summary>
            Handles a missing field error.
            </summary>
            <param name="value">The partially parsed value, if available.</param>
            <param name="fieldIndex">The missing field index.</param>
            <param name="currentPosition">The current position in the raw data.</param>
            <returns>
            The resulting value according to <see cref="M:MissingFieldAction"/>.
            If the action is set to <see cref="T:MissingFieldAction.TreatAsParseError"/>,
            then the parse error will be handled according to <see cref="P:FlatRedBall.IO.Csv.CsvReader.DefaultParseErrorAction"/>.
            </returns>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.ValidateDataReader(FlatRedBall.IO.Csv.CsvReader.DataReaderValidations)">
            <summary>
            Validates the state of the data reader.
            </summary>
            <param name="validations">The validations to accomplish.</param>
            <exception cref="T:System.InvalidOperationException">
            No current record.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            This operation is invalid when the reader is closed.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.CopyFieldToArray(System.Int32,System.Int64,System.Array,System.Int32,System.Int32)">
            <summary>
            Copy the value of the specified field to an array.
            </summary>
            <param name="field">The index of the field.</param>
            <param name="fieldOffset">The offset in the field value.</param>
            <param name="destinationArray">The destination array where the field value will be copied.</param>
            <param name="destinationOffset">The destination array offset.</param>
            <param name="length">The number of characters to copy from the field value.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.GetEnumerator">
            <summary>
            Returns an <see cref="T:RecordEnumerator"/>  that can iterate through CSV records.
            </summary>
            <returns>An <see cref="T:RecordEnumerator"/>  that can iterate through CSV records.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.System#Collections#Generic#IEnumerable{System#String[]}#GetEnumerator">
            <summary>
            Returns an <see cref="T:System.Collections.Generics.IEnumerator"/>  that can iterate through CSV records.
            </summary>
            <returns>An <see cref="T:System.Collections.Generics.IEnumerator"/>  that can iterate through CSV records.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an <see cref="T:System.Collections.IEnumerator"/>  that can iterate through CSV records.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator"/>  that can iterate through CSV records.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._allocStack">
            <summary>
            Contains the stack when the object was allocated.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._isDisposed">
            <summary>
            Contains the disposed status flag.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader._lock">
            <summary>
            Contains the locking object for multi-threading purpose.
            </summary>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.OnDisposed(System.EventArgs)">
            <summary>
            Raises the <see cref="M:Disposed"/> event.
            </summary>
            <param name="e">A <see cref="T:System.EventArgs"/> that contains the event data.</param>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.CheckDisposed">
            <summary>
            Checks if the instance has been disposed of, and if it has, throws an <see cref="T:System.ComponentModel.ObjectDisposedException"/>; otherwise, does nothing.
            </summary>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            	The instance has been disposed of.
            </exception>
            <remarks>
            	Derived classes should call this method at the start of all methods and properties that should not be accessed after a call to <see cref="M:Dispose()"/>.
            </remarks>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.Dispose">
            <summary>
            Releases all resources used by the instance.
            </summary>
            <remarks>
            	Calls <see cref="M:Dispose(Boolean)"/> with the disposing parameter set to <see langword="true"/> to free unmanaged and managed resources.
            </remarks>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by this instance and optionally releases the managed resources.
            </summary>
            <param name="disposing">
            	<see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.
            </param>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the instance is reclaimed by garbage collection.
            </summary>
        </member>
        <member name="E:FlatRedBall.IO.Csv.CsvReader.ParseError">
            <summary>
            Occurs when there is an error while parsing the CSV stream.
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.Comment">
            <summary>
            Gets the comment character indicating that a line is commented out.
            </summary>
            <value>The comment character indicating that a line is commented out.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.Escape">
            <summary>
            Gets the escape character letting insert quotation characters inside a quoted field.
            </summary>
            <value>The escape character letting insert quotation characters inside a quoted field.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.Delimiter">
            <summary>
            Gets the delimiter character separating each field.
            </summary>
            <value>The delimiter character separating each field.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.Quote">
            <summary>
            Gets the quotation character wrapping every field.
            </summary>
            <value>The quotation character wrapping every field.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.HasHeaders">
            <summary>
            Indicates if field names are located on the first non commented line.
            </summary>
            <value><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.TrimSpaces">
            <summary>
            Indicates if spaces at the start and end of a field are trimmed.
            </summary>
            <value><see langword="true"/> if spaces at the start and end of a field are trimmed, otherwise, <see langword="false"/>.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.BufferSize">
            <summary>
            Gets the buffer size.
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.DefaultParseErrorAction">
            <summary>
            Gets or sets the default action to take when a parsing error has occured.
            </summary>
            <value>The default action to take when a parsing error has occured.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.MissingFieldAction">
            <summary>
            Gets or sets the action to take when a field is missing.
            </summary>
            <value>The action to take when a field is missing.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.SupportsMultiline">
            <summary>
            Gets or sets a value indicating if the reader supports multiline fields.
            </summary>
            <value>A value indicating if the reader supports multiline field.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.SkipEmptyLines">
            <summary>
            Gets or sets a value indicating if the reader will skip empty lines.
            </summary>
            <value>A value indicating if the reader will skip empty lines.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.FieldCount">
            <summary>
            Gets the maximum number of fields to retrieve for each record.
            </summary>
            <value>The maximum number of fields to retrieve for each record.</value>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.EndOfStream">
            <summary>
            Gets a value that indicates whether the current stream position is at the end of the stream.
            </summary>
            <value><see langword="true"/> if the current stream position is at the end of the stream; otherwise <see langword="false"/>.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.CurrentRecordIndex">
            <summary>
            Gets the current record index in the CSV file.
            </summary>
            <value>The current record index in the CSV file.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.Item(System.Int32,System.String)">
            <summary>
            Gets the field with the specified name and record position. <see cref="M:hasHeaders"/> must be <see langword="true"/>.
            </summary>
            <value>
            The field with the specified name and record position.
            </value>
            <exception cref="T:ArgumentNullException">
            	<paramref name="field"/> is <see langword="null"/> or an empty string.
            </exception>
            <exception cref="T:InvalidOperationException">
            The CSV does not have headers (<see cref="M:HasHeaders"/> property is <see langword="false"/>).
            </exception>
            <exception cref="T:ArgumentException">
            	<paramref name="field"/> not found.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            	Record index must be > 0.
            </exception>
            <exception cref="T:InvalidOperationException">
            	Cannot move to a previous record in forward-only mode.
            </exception>
            <exception cref="T:EndOfStreamException">
            	Cannot read record at <paramref name="record"/>.
            </exception>
            <exception cref="T:MalformedCsvException">
            	The CSV appears to be corrupt at the current position.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.Item(System.Int32,System.Int32)">
            <summary>
            Gets the field at the specified index and record position.
            </summary>
            <value>
            The field at the specified index and record position.
            A <see langword="null"/> is returned if the field cannot be found for the record.
            </value>
            <exception cref="T:ArgumentOutOfRangeException">
            	<paramref name="field"/> must be included in [0, <see cref="M:FieldCount"/>[.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            	Record index must be > 0.
            </exception>
            <exception cref="T:InvalidOperationException">
            	Cannot move to a previous record in forward-only mode.
            </exception>
            <exception cref="T:EndOfStreamException">
            	Cannot read record at <paramref name="record"/>.
            </exception>
            <exception cref="T:MalformedCsvException">
            	The CSV appears to be corrupt at the current position.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.Item(System.String)">
            <summary>
            Gets the field with the specified name. <see cref="M:hasHeaders"/> must be <see langword="true"/>.
            </summary>
            <value>
            The field with the specified name.
            </value>
            <exception cref="T:ArgumentNullException">
            	<paramref name="field"/> is <see langword="null"/> or an empty string.
            </exception>
            <exception cref="T:InvalidOperationException">
            The CSV does not have headers (<see cref="M:HasHeaders"/> property is <see langword="false"/>).
            </exception>
            <exception cref="T:ArgumentException">
            	<paramref name="field"/> not found.
            </exception>
            <exception cref="T:MalformedCsvException">
            	The CSV appears to be corrupt at the current position.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.Item(System.Int32)">
            <summary>
            Gets the field at the specified index.
            </summary>
            <value>The field at the specified index.</value>
            <exception cref="T:ArgumentOutOfRangeException">
            	<paramref name="field"/> must be included in [0, <see cref="M:FieldCount"/>[.
            </exception>
            <exception cref="T:InvalidOperationException">
            	No record read yet. Call ReadLine() first.
            </exception>
            <exception cref="T:MalformedCsvException">
            	The CSV appears to be corrupt at the current position.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="E:FlatRedBall.IO.Csv.CsvReader.Disposed">
            <summary>
            Occurs when the instance is disposed of.
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.IsDisposed">
            <summary>
            Gets a value indicating whether the instance has been disposed of.
            </summary>
            <value>
            	<see langword="true"/> if the instance has been disposed of; otherwise, <see langword="false"/>.
            </value>
        </member>
        <member name="T:FlatRedBall.IO.Csv.CsvReader.DataReaderValidations">
            <summary>
            Defines the data reader validations.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.DataReaderValidations.None">
            <summary>
            No validation.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.DataReaderValidations.IsInitialized">
            <summary>
            Validate that the data reader is initialized.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.DataReaderValidations.IsNotClosed">
            <summary>
            Validate that the data reader is not closed.
            </summary>
        </member>
        <member name="T:FlatRedBall.IO.Csv.CsvReader.RecordEnumerator">
            <summary>
            Supports a simple iteration over the records of a <see cref="T:CsvReader"/>.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.RecordEnumerator._reader">
            <summary>
            Contains the enumerated <see cref="T:CsvReader"/>.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.RecordEnumerator._current">
            <summary>
            Contains the current record.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvReader.RecordEnumerator._currentRecordIndex">
            <summary>
            Contains the current record index.
            </summary>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.RecordEnumerator.#ctor(FlatRedBall.IO.Csv.CsvReader)">
            <summary>
            Initializes a new instance of the <see cref="T:RecordEnumerator"/> class.
            </summary>
            <param name="reader">The <see cref="T:CsvReader"/> to iterate over.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.RecordEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next record of the CSV.
            </summary>
            <returns><see langword="true"/> if the enumerator was successfully advanced to the next record, <see langword="false"/> if the enumerator has passed the end of the CSV.</returns>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.RecordEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, which is before the first record in the CSV.
            </summary>
        </member>
        <member name="M:FlatRedBall.IO.Csv.CsvReader.RecordEnumerator.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.RecordEnumerator.Current">
            <summary>
            Gets the current record.
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.CsvReader.RecordEnumerator.System#Collections#IEnumerator#Current">
            <summary>
            Gets the current record.
            </summary>
        </member>
        <member name="T:FlatRedBall.IO.Csv.ParseErrorEventArgs">
            <summary>
            Provides data for the <see cref="M:CsvReader.ParseError"/> event.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.ParseErrorEventArgs._error">
            <summary>
            Contains the error that occured.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.ParseErrorEventArgs._action">
            <summary>
            Contains the action to take.
            </summary>
        </member>
        <member name="M:FlatRedBall.IO.Csv.ParseErrorEventArgs.#ctor(System.Exception,FlatRedBall.IO.Csv.ParseErrorAction)">
            <summary>
            Initializes a new instance of the ParseErrorEventArgs class.
            </summary>
            <param name="error">The error that occured.</param>
            <param name="defaultAction">The default action to take.</param>
        </member>
        <member name="P:FlatRedBall.IO.Csv.ParseErrorEventArgs.Error">
            <summary>
            Gets the error that occured.
            </summary>
            <value>The error that occured.</value>
        </member>
        <member name="P:FlatRedBall.IO.Csv.ParseErrorEventArgs.Action">
            <summary>
            Gets or sets the action to take.
            </summary>
            <value>The action to take.</value>
        </member>
        <member name="T:FlatRedBall.IO.Csv.MissingFieldAction">
            <summary>
            Specifies the action to take when a field is missing.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.MissingFieldAction.ParseError">
            <summary>
            Treat as a parsing error.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.MissingFieldAction.ReplaceByEmpty">
            <summary>
            Replaces by an empty value.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.MissingFieldAction.ReplaceByNull">
            <summary>
            Replaces by a null value (<see langword="null"/>).
            </summary>
        </member>
        <member name="T:FlatRedBall.IO.Csv.ParseErrorAction">
            <summary>
            Specifies the action to take when a parsing error has occured.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.ParseErrorAction.RaiseEvent">
            <summary>
            Raises the <see cref="M:CsvReader.ParseError"/> event.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.ParseErrorAction.AdvanceToNextLine">
            <summary>
            Tries to advance to next line.
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.ParseErrorAction.ThrowException">
            <summary>
            Throws an exception.
            </summary>
        </member>
        <member name="T:FlatRedBall.IO.Csv.Resources.ExceptionMessage">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.BufferSizeTooSmall">
            <summary>
              Looks up a localized string similar to Buffer size must be 1 or more..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.CannotMovePreviousRecordInForwardOnly">
            <summary>
              Looks up a localized string similar to Cannot move to a previous record in forward-only mode..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.CannotReadRecordAtIndex">
            <summary>
              Looks up a localized string similar to Cannot read record at index &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.EnumerationFinishedOrNotStarted">
            <summary>
              Looks up a localized string similar to Enumeration has either not started or has already finished..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.EnumerationVersionCheckFailed">
            <summary>
              Looks up a localized string similar to Collection was modified; enumeration operation may not execute..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.FieldHeaderNotFound">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; field header not found..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.FieldIndexOutOfRange">
            <summary>
              Looks up a localized string similar to Field index must be included in [0, FieldCount[. Specified field index was : &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.MalformedCsvException">
            <summary>
              Looks up a localized string similar to The CSV appears to be corrupt near record &apos;{0}&apos; field &apos;{1} at position &apos;{2}&apos;. Current raw data : &apos;{3}&apos;..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.MissingFieldActionNotSupported">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a supported missing field action..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.NoCurrentRecord">
            <summary>
              Looks up a localized string similar to No current record..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.NoHeaders">
            <summary>
              Looks up a localized string similar to The CSV does not have headers (CsvReader.HasHeaders property is false)..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.NotEnoughSpaceInArray">
            <summary>
              Looks up a localized string similar to The number of fields in the record is greater than the available space from index to the end of the destination array..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.ParseErrorActionInvalidInsideParseErrorEvent">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a valid ParseErrorAction while inside a ParseError event..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.ParseErrorActionNotSupported">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a supported ParseErrorAction..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.ReaderClosed">
            <summary>
              Looks up a localized string similar to This operation is invalid when the reader is closed..
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.Csv.Resources.ExceptionMessage.RecordIndexLessThanZero">
            <summary>
              Looks up a localized string similar to Record index must be 0 or more..
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvHeader.Name">
            <summary>
            The name of the header - such as "Health"
            </summary>
        </member>
        <member name="F:FlatRedBall.IO.Csv.CsvHeader.IsRequired">
            <summary>
            Whether objects must have a value in this header.  This is true for dictionaries, and to
            help the csv deserialization understand when a column belongs to a new instance or if it is
            a column used for lists.
            </summary>
        </member>
        <member name="T:FlatRedBall.IO.Csv.RuntimeCsvRepresentation">
            <summary>
            Represents the raw data loaded from a csv file.  This is
            used if the data must be processed or converted by hand to
            other object types.
            </summary>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.FileExists(System.String)">
            <summary>
            Returns whether the file exists considering the relative directory.
            </summary>
            <param name="fileName">The file to search for.</param>
            <returns>Whether the argument file exists.</returns>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.FindFileInDirectory(System.String,System.String)">
            <summary>
            Searches the passed directory and all subdirectories for the passed file.
            </summary>
            <param name="fileToFind">The name of the file including extension.</param>
            <param name="directory">The directory to search in, including all subdirectories.</param>
            <returns>The full path of the first file found matching the name, or an empty string if none is found.</returns>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.FindFileInDirectory(System.String)">
            <summary>
            Searches the executable's director and all subdirectories for the passed file.
            </summary>
            <param name="fileToFind">The name of the file which may or may not include an extension.</param>
            <returns>The full path of the first file found matching the name, or an empty string if none is found</returns>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.GetExtension(System.String)">
            <summary>
            Returns the extension in a filename.
            </summary>
            <remarks>
            The extension returned will not contain a period.
            
            <para>
            <code>
            // this code will return a string containing "png", not ".png"
            FileManager.GetExtension(@"FolderName/myImage.png");
            </code>
            </para>
            </remarks>
            <param name="fileName">The filename.</param>
            <returns>Returns the extension or an empty string if no period is found in the filename.</returns>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.GetAllFilesInDirectory(System.String)">
            <summary>
            Returns a List containing all of the files found in a particular directory and its subdirectories.
            </summary>
            <param name="directory">The directory to search in.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.GetAllFilesInDirectory(System.String,System.String)">
            <summary>
            Returns a List containing all files which match the fileType argument which are 
            in the directory argument or a subfolder.  This recurs, returning all files.
            </summary>
            <param name="directory">String representing the directory to search.  If an empty
            string is passed, the method will search starting in the directory holding the .exe.</param>
            <param name="fileType">The file type to search for specified as an extension.  The extension
            can either have a period or not.  That is ".jpg" and "jpg" are both valid fileType arguments.  An empty
            or null value for this parameter will return all files regardless of file type.</param>
            <returns>A list containing all of the files found which match the fileType.</returns>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.GetAllFilesInDirectory(System.String,System.String,System.Int32)">
            <summary>
            Returns a List containing all files which match the fileType argument which are within
            the depthToSearch folder range relative to the directory argument.
            </summary>
            <param name="directory">String representing the directory to search.  If an empty
            string is passed, the method will search starting in the directory holding the .exe.</param>
            <param name="fileType">The file type to search for specified as an extension.  The extension
            can either have a period or not.  That is ".jpg" and "jpg" are both valid fileType arguments.  An empty
            or null value for this parameter will return all files regardless of file type.</param>
            <param name="depthToSearch">The depth to search through.  If the depthToSearch
            is 0, only the argument directory will be searched.</param>
            <returns>A list containing all of the files found which match the fileType.</returns>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.IsGraphicFile(System.String)">
            <summary>
            Determines whether a particular file is a graphical file that can be loaded by the FRB Engine.
            </summary>
            <remarks>
            This method does conducts the simple test of looking at the extension of the filename.  If the extension inaccurately
            represents the actual format of the file, the method may also inaccurately report whether the file is graphical.
            </remarks>
            <param name="fileToTest">The file name to test.</param>
            <returns>Whether the file is a graphic file.</returns>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.RemoveExtension(System.String)">
            <summary>
            Returns the fileName without an extension, or makes no changes if fileName has no extension.
            </summary>
            <param name="fileName">The file name.</param>
            <returns>The file name with extension removed if an extension existed.</returns>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.RemovePath(System.String@)">
            <summary>
            Modifies the fileName by removing its path, or makes no changes if the fileName has no path.
            </summary>
            <param name="fileName">The file name to change</param>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.RemovePath(System.String)">
            <summary>
            Returns the fileName without a path, or makes no changes if the fileName has no path.
            </summary>
            <param name="fileName">The file name.</param>
            <returns>The modified fileName if a path is found.</returns>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.ResetRelativeToCurrentDirectory">
            <summary>
            Sets the relative directory to the current directory.
            </summary>
            <remarks>
            The current directory is not necessarily the same as the directory of the .exe.  If the 
            .exe is called from a different location (such as the command line in a different folder),
            the current directory will differ.
            </remarks>
        </member>
        <member name="M:FlatRedBall.IO.FileManager.ReplaceSlashes(System.String@)">
            <summary>
            Replaces back slashes with forward slashes, but
            doesn't break network addresses.
            </summary>
            <param name="stringToReplace">The string to replace slashes in.</param>
        </member>
        <member name="P:FlatRedBall.IO.FileManager.RelativeDirectory">
            <summary>
            The directory that FlatRedBall will use when loading assets.  Defaults to the application's directory.
            </summary>
        </member>
        <member name="P:FlatRedBall.IO.FileManager.UserApplicationData">
            <summary>
            Gets the path to the user specific application data directory.
            </summary>
            <remarks>If your game/application will be writing anything to the file system, you will want 
            to do so somewhere in this directory.  The reason for this is because you cannot anticipate
            whether the user will have the needed permissions to write to the directory where the 
            executable lives.</remarks>
            <example>C:\Documents and Settings\&lt;username&gt;\Application Data</example> 
        </member>
        <member name="T:FlatRedBall.IO.PaletteInfo">
            <summary>
            Contains an indexed array of Colors to be used by images with ColorType 3 and possibly ColorTypes
            2 and 6.
            </summary>
        </member>
        <member name="T:FlatRedBall.IO.RGB">
            <summary>
            Simple struct used to hold sample values.
            </summary>
        </member>
        <member name="T:FlatRedBall.IO.GifLoader">
            <summary>
            Class responsible for loading GIF files.
            </summary>
            <remarks>
            For information, see:
            http://www.fileformat.info/format/gif/
            </remarks>
        </member>
        <member name="T:FlatRedBall.IO.Gif.ImageDataList">
            <summary>
            A list of ImageDatas with timing information on each element.
            </summary>
            <remarks>
            This class is used when loading GIF files to an AnimationChain.
            </remarks>
        </member>
        <member name="T:FlatRedBall.IO.HttpManager">
            <summary>This class let's you easily make HTTP requests and, if required,
            deserialize the results into local strongly typed objects. Callbacks called
            on separate thread.</summary>
        </member>
        <member name="M:FlatRedBall.IO.HttpManager.PerformHttpGet(System.String,System.Action{System.String,System.Int32},System.Action{System.Exception,System.Int32})">
            <summary>Simple HTTP Get, gives you the string result</summary>
        </member>
        <member name="M:FlatRedBall.IO.HttpManager.PerformHttpGet(System.Uri,System.Action{System.String,System.Int32},System.Action{System.Exception,System.Int32})">
            <summary>Simple HTTP Get, gives you the string result</summary>
        </member>
        <member name="M:FlatRedBall.IO.HttpManager.PerformHttpGetAsXml``1(System.String,System.Action{``0,System.Int32},System.Action{System.Exception,System.Int32})">
            <summary>Does an HTTP Get, and deserializes the XML result (assumes UTF8) with the File Manager Deserializer.</summary>
        </member>
        <member name="M:FlatRedBall.IO.HttpManager.PerformHttpGetAsXml``1(System.Uri,System.Action{``0,System.Int32},System.Action{System.Exception,System.Int32})">
            <summary>Does an HTTP Get, and deserializes the XML result (assumes UTF8) with the File Manager Deserializer.</summary>
        </member>
        <member name="M:FlatRedBall.IO.HttpManager.PerformHttpGetAsJson``1(System.String,System.Action{``0,System.Int32},System.Action{System.Exception,System.Int32})">
            <summary>Does an HTTP Get, and deserializes the JSON result (assumes UTF8) with the .</summary>
        </member>
        <member name="M:FlatRedBall.IO.HttpManager.PerformHttpGetAsJson``1(System.Uri,System.Action{``0,System.Int32},System.Action{System.Exception,System.Int32})">
            <summary>Does an HTTP Get, and deserializes the JSON result (assumes UTF8) with the .</summary>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Checksums.Adler32">
            <summary>
            Computes Adler32 checksum for a stream of data. An Adler32
            checksum is not as reliable as a CRC32 checksum, but a lot faster to
            compute.
            
            The specification for Adler32 may be found in RFC 1950.
            ZLIB Compressed Data Format Specification version 3.3)
            
            
            From that document:
            
                 "ADLER32 (Adler-32 checksum)
                  This contains a checksum value of the uncompressed data
                  (excluding any dictionary data) computed according to Adler-32
                  algorithm. This algorithm is a 32-bit extension and improvement
                  of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073
                  standard.
            
                  Adler-32 is composed of two sums accumulated per byte: s1 is
                  the sum of all bytes, s2 is the sum of all s1 values. Both sums
                  are done modulo 65521. s1 is initialized to 1, s2 to zero.  The
                  Adler-32 checksum is stored as s2*65536 + s1 in most-
                  significant-byte first (network) order."
            
             "8.2. The Adler-32 algorithm
            
               The Adler-32 algorithm is much faster than the CRC32 algorithm yet
               still provides an extremely low probability of undetected errors.
            
               The modulo on unsigned long accumulators can be delayed for 5552
               bytes, so the modulo operation time is negligible.  If the bytes
               are a, b, c, the second sum is 3a + 2b + c + 3, and so is position
               and order sensitive, unlike the first sum, which is just a
               checksum.  That 65521 is prime is important to avoid a possible
               large class of two-byte errors that leave the check unchanged.
               (The Fletcher checksum uses 255, which is not prime and which also
               makes the Fletcher check insensitive to single byte changes 0 -
               255.)
            
               The sum s1 is initialized to 1 instead of zero to make the length
               of the sequence part of s2, so that the length does not have to be
               checked separately. (Any sequence of zeroes has a Fletcher
               checksum of zero.)"
            </summary>
            <see cref="T:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream"/>
            <see cref="!:ICSharpCode.SharpZipLib.Zip.Compression.Streams.DeflaterOutputStream"/>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Checksums.IChecksum">
            <summary>
            Interface to compute a data checksum used by checked input/output streams.
            A data checksum can be updated by one byte or with a byte array. After each
            update the value of the current checksum can be returned by calling
            <code>getValue</code>. The complete checksum object can also be reset
            so it can be used again with new data.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Checksums.IChecksum.Reset">
            <summary>
            Resets the data checksum as if no update was ever called.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Checksums.IChecksum.Update(System.Int32)">
            <summary>
            Adds one byte to the data checksum.
            </summary>
            <param name = "value">
            the data value to add. The high byte of the int is ignored.
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Checksums.IChecksum.Update(System.Byte[])">
            <summary>
            Updates the data checksum with the bytes taken from the array.
            </summary>
            <param name="buffer">
            buffer an array of bytes
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Checksums.IChecksum.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Adds the byte array to the data checksum.
            </summary>
            <param name = "buffer">
            The buffer which contains the data
            </param>
            <param name = "offset">
            The offset in the buffer where the data starts
            </param>
            <param name = "count">
            the number of data bytes to add.
            </param>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Checksums.IChecksum.Value">
            <summary>
            Returns the data checksum computed so far.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Checksums.Adler32.BASE">
            <summary>
            largest prime smaller than 65536
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Checksums.Adler32.#ctor">
            <summary>
            Creates a new instance of the Adler32 class.
            The checksum starts off with a value of 1.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Checksums.Adler32.Reset">
            <summary>
            Resets the Adler32 checksum to the initial value.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Checksums.Adler32.Update(System.Int32)">
            <summary>
            Updates the checksum with a byte value.
            </summary>
            <param name="value">
            The data value to add. The high byte of the int is ignored.
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Checksums.Adler32.Update(System.Byte[])">
            <summary>
            Updates the checksum with an array of bytes.
            </summary>
            <param name="buffer">
            The source of the data to update with.
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Checksums.Adler32.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Updates the checksum with the bytes taken from the array.
            </summary>
            <param name="buffer">
            an array of bytes
            </param>
            <param name="offset">
            the start of the data used for this update
            </param>
            <param name="count">
            the number of bytes to use for this update
            </param>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Checksums.Adler32.Value">
            <summary>
            Returns the Adler32 data checksum computed so far.
            </summary>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.SharpZipBaseException">
            <summary>
            SharpZipBaseException is the base exception class for the SharpZipLibrary.
            All library exceptions are derived from this.
            </summary>
            <remarks>NOTE: Not all exceptions thrown will be derived from this class.
            A variety of other exceptions are possible for example <see cref="T:System.ArgumentNullException"></see></remarks>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.SharpZipBaseException.#ctor">
            <summary>
            Initializes a new instance of the SharpZipBaseException class.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.SharpZipBaseException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the SharpZipBaseException class with a specified error message.
            </summary>
            <param name="message">A message describing the exception.</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.SharpZipBaseException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the SharpZipBaseException class with a specified
            error message and a reference to the inner exception that is the cause of this exception.
            </summary>
            <param name="message">A message describing the exception.</param>
            <param name="innerException">The inner exception</param>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.Deflater">
             <summary>
             This is the Deflater class.  The deflater class compresses input
             with the deflate algorithm described in RFC 1951.  It has several
             compression levels and three different strategies described below.
            
             This class is <i>not</i> thread safe.  This is inherent in the API, due
             to the split of deflate and setInput.
             
             author of the original java version : Jochen Hoenicke
             </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.BEST_COMPRESSION">
            <summary>
            The best and slowest compression level.  This tries to find very
            long and distant string repetitions.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.BEST_SPEED">
            <summary>
            The worst but fastest compression level.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.DEFAULT_COMPRESSION">
            <summary>
            The default compression level.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.NO_COMPRESSION">
            <summary>
            This level won't compress at all but output uncompressed blocks.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.DEFLATED">
            <summary>
            The compression method.  This is the only method supported so far.
            There is no need to use this constant at all.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.#ctor">
            <summary>
            Creates a new deflater with default compression level.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.#ctor(System.Int32)">
            <summary>
            Creates a new deflater with given compression level.
            </summary>
            <param name="level">
            the compression level, a value between NO_COMPRESSION
            and BEST_COMPRESSION, or DEFAULT_COMPRESSION.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">if lvl is out of range.</exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.#ctor(System.Int32,System.Boolean)">
            <summary>
            Creates a new deflater with given compression level.
            </summary>
            <param name="level">
            the compression level, a value between NO_COMPRESSION
            and BEST_COMPRESSION.
            </param>
            <param name="noZlibHeaderOrFooter">
            true, if we should suppress the Zlib/RFC1950 header at the
            beginning and the adler checksum at the end of the output.  This is
            useful for the GZIP/PKZIP formats.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">if lvl is out of range.</exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.Reset">
            <summary>
            Resets the deflater.  The deflater acts afterwards as if it was
            just created with the same compression level and strategy as it
            had before.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.Flush">
            <summary>
            Flushes the current input block.  Further calls to deflate() will
            produce enough output to inflate everything in the current input
            block.  This is not part of Sun's JDK so I have made it package
            private.  It is used by DeflaterOutputStream to implement
            flush().
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.Finish">
            <summary>
            Finishes the deflater with the current input block.  It is an error
            to give more input after this method was called.  This method must
            be called to force all bytes to be flushed.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.SetInput(System.Byte[])">
            <summary>
            Sets the data which should be compressed next.  This should be only
            called when needsInput indicates that more input is needed.
            If you call setInput when needsInput() returns false, the
            previous input that is still pending will be thrown away.
            The given byte array should not be changed, before needsInput() returns
            true again.
            This call is equivalent to <code>setInput(input, 0, input.length)</code>.
            </summary>
            <param name="input">
            the buffer containing the input data.
            </param>
            <exception cref="T:System.InvalidOperationException">
            if the buffer was finished() or ended().
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.SetInput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the data which should be compressed next.  This should be
            only called when needsInput indicates that more input is needed.
            The given byte array should not be changed, before needsInput() returns
            true again.
            </summary>
            <param name="input">
            the buffer containing the input data.
            </param>
            <param name="offset">
            the start of the data.
            </param>
            <param name="count">
            the number of data bytes of input.
            </param>
            <exception cref="T:System.InvalidOperationException">
            if the buffer was Finish()ed or if previous input is still pending.
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.SetLevel(System.Int32)">
            <summary>
            Sets the compression level.  There is no guarantee of the exact
            position of the change, but if you call this when needsInput is
            true the change of compression level will occur somewhere near
            before the end of the so far given input.
            </summary>
            <param name="level">
            the new compression level.
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.GetLevel">
            <summary>
            Get current compression level
            </summary>
            <returns>Returns the current compression level</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.SetStrategy(ICSharpCode.SharpZipLib.Zip.Compression.DeflateStrategy)">
            <summary>
            Sets the compression strategy. Strategy is one of
            DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED.  For the exact
            position where the strategy is changed, the same as for
            SetLevel() applies.
            </summary>
            <param name="strategy">
            The new compression strategy.
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.Deflate(System.Byte[])">
            <summary>
            Deflates the current input block with to the given array.
            </summary>
            <param name="output">
            The buffer where compressed data is stored
            </param>
            <returns>
            The number of compressed bytes added to the output, or 0 if either
            IsNeedingInput() or IsFinished returns true or length is zero.
            </returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.Deflate(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Deflates the current input block to the given array.
            </summary>
            <param name="output">
            Buffer to store the compressed data.
            </param>
            <param name="offset">
            Offset into the output array.
            </param>
            <param name="length">
            The maximum number of bytes that may be stored.
            </param>
            <returns>
            The number of compressed bytes added to the output, or 0 if either
            needsInput() or finished() returns true or length is zero.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            If Finish() was previously called.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            If offset or length don't match the array length.
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.SetDictionary(System.Byte[])">
            <summary>
            Sets the dictionary which should be used in the deflate process.
            This call is equivalent to <code>setDictionary(dict, 0, dict.Length)</code>.
            </summary>
            <param name="dictionary">
            the dictionary.
            </param>
            <exception cref="T:System.InvalidOperationException">
            if SetInput () or Deflate () were already called or another dictionary was already set.
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.SetDictionary(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the dictionary which should be used in the deflate process.
            The dictionary is a byte array containing strings that are
            likely to occur in the data which should be compressed.  The
            dictionary is not stored in the compressed output, only a
            checksum.  To decompress the output you need to supply the same
            dictionary again.
            </summary>
            <param name="dictionary">
            The dictionary data
            </param>
            <param name="index">
            The index where dictionary information commences.
            </param>
            <param name="count">
            The number of bytes in the dictionary.
            </param>
            <exception cref="T:System.InvalidOperationException">
            If SetInput () or Deflate() were already called or another dictionary was already set.
            </exception>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.level">
            <summary>
            Compression level.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.noZlibHeaderOrFooter">
            <summary>
            If true no Zlib/RFC1950 headers or footers are generated
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.state">
            <summary>
            The current state.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.totalOut">
            <summary>
            The total bytes of output written.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.pending">
            <summary>
            The pending output.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.engine">
            <summary>
            The deflater engine.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.Adler">
            <summary>
            Gets the current adler checksum of the data that was processed so far.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.TotalIn">
            <summary>
            Gets the number of input bytes processed so far.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.TotalOut">
            <summary>
            Gets the number of output bytes so far.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.IsFinished">
            <summary>
            Returns true if the stream was finished and no more output bytes
            are available.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Deflater.IsNeedingInput">
            <summary>
            Returns true, if the input buffer is empty.
            You should then call setInput(). 
            NOTE: This method can also return true when the stream
            was finished.
            </summary>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants">
            <summary>
            This class contains constants used for deflation.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.DEBUGGING">
            <summary>
            Set to true to enable debugging
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.STORED_BLOCK">
            <summary>
            Written to Zip file to identify a stored block
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.STATIC_TREES">
            <summary>
            Identifies static tree in Zip file
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.DYN_TREES">
            <summary>
            Identifies dynamic tree in Zip file
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.PRESET_DICT">
            <summary>
            Header flag indicating a preset dictionary for deflation
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.DEFAULT_MEM_LEVEL">
            <summary>
            Sets internal buffer sizes for Huffman encoding
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.MAX_MATCH">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.MIN_MATCH">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.MAX_WBITS">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.WSIZE">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.WMASK">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.HASH_BITS">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.HASH_SIZE">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.HASH_MASK">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.HASH_SHIFT">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.MIN_LOOKAHEAD">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.MAX_DIST">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.PENDING_BUF_SIZE">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.DEFLATE_STORED">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.DEFLATE_FAST">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.DEFLATE_SLOW">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.MAX_BLOCK_SIZE">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.GOOD_LENGTH">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.MAX_LAZY">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.NICE_LENGTH">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.MAX_CHAIN">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterConstants.COMPR_FUNC">
            <summary>
            Internal compression engine constant
            </summary>		
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.DeflateStrategy">
            <summary>
            Strategies for deflater
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflateStrategy.Default">
            <summary>
            The default strategy
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflateStrategy.Filtered">
            <summary>
            This strategy will only allow longer string repetitions.  It is
            useful for random data with a small character set.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflateStrategy.HuffmanOnly">
            <summary>
            This strategy will not look for string repetitions at all.  It
            only encodes with Huffman trees (which means, that more common
            characters get a smaller encoding.
            </summary>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine">
            <summary>
            Low level compression engine for deflate algorithm which uses a 32K sliding window
            with secondary compression from Huffman/Shannon-Fano codes.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.#ctor(ICSharpCode.SharpZipLib.Zip.Compression.DeflaterPending)">
            <summary>
            Construct instance with pending buffer
            </summary>
            <param name="pending">
            Pending buffer to use
            </param>>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.Deflate(System.Boolean,System.Boolean)">
            <summary>
            Deflate drives actual compression of data
            </summary>
            <param name="flush">True to flush input buffers</param>
            <param name="finish">Finish deflation with the current input.</param>
            <returns>Returns true if progress has been made.</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.SetInput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets input data to be deflated.  Should only be called when <code>NeedsInput()</code>
            returns true
            </summary>
            <param name="buffer">The buffer containing input data.</param>
            <param name="offset">The offset of the first byte of data.</param>
            <param name="count">The number of bytes of data to use as input.</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.NeedsInput">
            <summary>
            Determines if more <see cref="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.SetInput(System.Byte[],System.Int32,System.Int32)">input</see> is needed.
            </summary>		
            <returns>Return true if input is needed via <see cref="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.SetInput(System.Byte[],System.Int32,System.Int32)">SetInput</see></returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.SetDictionary(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Set compression dictionary
            </summary>
            <param name="buffer">The buffer containing the dictionary data</param>
            <param name="offset">The offset in the buffer for the first byte of data</param>
            <param name="length">The length of the dictionary data.</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.Reset">
            <summary>
            Reset internal state
            </summary>		
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.ResetAdler">
            <summary>
            Reset Adler checksum
            </summary>		
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.SetLevel(System.Int32)">
            <summary>
            Set the deflate level (0-9)
            </summary>
            <param name="level">The value to set the level to.</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.FillWindow">
            <summary>
            Fill the window
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.InsertString">
            <summary>
            Inserts the current string in the head hash and returns the previous
            value for this hash.
            </summary>
            <returns>The previous hash value</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.FindLongestMatch(System.Int32)">
             <summary>
             Find the best (longest) string in the window matching the 
             string starting at strstart.
            
             Preconditions:
             <code>
             strstart + MAX_MATCH &lt;= window.length.</code>
             </summary>
             <param name="curMatch"></param>
             <returns>True if a match greater than the minimum length is found</returns>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.head">
            <summary>
            Hashtable, hashing three characters to an index for window, so
            that window[index]..window[index+2] have this hash code.  
            Note that the array should really be unsigned short, so you need
            to and the values with 0xffff.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.prev">
            <summary>
            <code>prev[index &amp; WMASK]</code> points to the previous index that has the
            same hash code as the string starting at index.  This way 
            entries with the same hash code are in a linked list.
            Note that the array should really be unsigned short, so you need
            to and the values with 0xffff.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.strstart">
            <summary>
            Points to the current character in the window.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.lookahead">
            <summary>
            lookahead is the number of characters starting at strstart in
            window that are valid.
            So window[strstart] until window[strstart+lookahead-1] are valid
            characters.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.window">
            <summary>
            This array contains the part of the uncompressed stream that 
            is of relevance.  The current character is indexed by strstart.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.compressionFunction">
            <summary>
            The current compression function.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.inputBuf">
            <summary>
            The input data for compression.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.totalIn">
            <summary>
            The total bytes of input read.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.inputOff">
            <summary>
            The offset into inputBuf, where input data starts.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.inputEnd">
            <summary>
            The end offset of the input data.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.adler">
            <summary>
            The adler checksum
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.Adler">
            <summary>
            Get current value of Adler checksum
            </summary>		
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.TotalIn">
            <summary>
            Total data processed
            </summary>		
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterEngine.Strategy">
            <summary>
            Get/set the <see cref="T:ICSharpCode.SharpZipLib.Zip.Compression.DeflateStrategy">deflate strategy</see>
            </summary>		
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman">
            <summary>
            This is the DeflaterHuffman class.
            
            This class is <i>not</i> thread safe.  This is inherent in the API, due
            to the split of Deflate and SetInput.
            
            author of the original java version : Jochen Hoenicke
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.pending">
            <summary>
            Pending buffer to use
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.#ctor(ICSharpCode.SharpZipLib.Zip.Compression.DeflaterPending)">
            <summary>
            Construct instance with pending buffer
            </summary>
            <param name="pending">Pending buffer to use</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.Reset">
            <summary>
            Reset internal state
            </summary>		
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.SendAllTrees(System.Int32)">
            <summary>
            Write all trees to pending buffer
            </summary>
            <param name="blTreeCodes">The number/rank of treecodes to send.</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.CompressBlock">
            <summary>
            Compress current buffer writing data to pending buffer
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.FlushStoredBlock(System.Byte[],System.Int32,System.Int32,System.Boolean)">
            <summary>
            Flush block to output with no compression
            </summary>
            <param name="stored">Data to write</param>
            <param name="storedOffset">Index of first byte to write</param>
            <param name="storedLength">Count of bytes to write</param>
            <param name="lastBlock">True if this is the last block</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.FlushBlock(System.Byte[],System.Int32,System.Int32,System.Boolean)">
            <summary>
            Flush block to output with compression
            </summary>		
            <param name="stored">Data to flush</param>
            <param name="storedOffset">Index of first byte to flush</param>
            <param name="storedLength">Count of bytes to flush</param>
            <param name="lastBlock">True if this is the last block</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.IsFull">
            <summary>
            Get value indicating if internal buffer is full
            </summary>
            <returns>true if buffer is full</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.TallyLit(System.Int32)">
            <summary>
            Add literal to buffer
            </summary>
            <param name="literal">Literal value to add to buffer.</param>
            <returns>Value indicating internal buffer is full</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.TallyDist(System.Int32,System.Int32)">
            <summary>
            Add distance code and length to literal and distance trees
            </summary>
            <param name="distance">Distance code</param>
            <param name="length">Length</param>
            <returns>Value indicating if internal buffer is full</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.BitReverse(System.Int32)">
            <summary>
            Reverse the bits of a 16 bit value.
            </summary>
            <param name="toReverse">Value to reverse bits</param>
            <returns>Value with bits reversed</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.Tree.Reset">
            <summary>
            Resets the internal state of the tree
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.Tree.CheckEmpty">
            <summary>
            Check that all frequencies are zero
            </summary>
            <exception cref="T:ICSharpCode.SharpZipLib.SharpZipBaseException">
            At least one frequency is non-zero
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.Tree.SetStaticCodes(System.Int16[],System.Byte[])">
            <summary>
            Set static codes and length
            </summary>
            <param name="staticCodes">new codes</param>
            <param name="staticLengths">length for new codes</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.Tree.BuildCodes">
            <summary>
            Build dynamic codes and lengths
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.Tree.GetEncodedLength">
            <summary>
            Get encoded length
            </summary>
            <returns>Encoded length, the sum of frequencies * lengths</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.Tree.CalcBLFreq(ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.Tree)">
            <summary>
            Scan a literal or distance tree to determine the frequencies of the codes
            in the bit length tree.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.Tree.WriteTree(ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman.Tree)">
            <summary>
            Write tree values
            </summary>
            <param name="blTree">Tree to write</param>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterPending">
            <summary>
            This class stores the pending output of the Deflater.
            
            author of the original java version : Jochen Hoenicke
            </summary>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer">
            <summary>
            This class is general purpose class for writing data to a buffer.
            
            It allows you to write bits as well as bytes
            Based on DeflaterPending.java
            
            author of the original java version : Jochen Hoenicke
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.buffer_">
            <summary>
            Internal work buffer
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.#ctor">
            <summary>
            construct instance using default buffer size of 4096
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.#ctor(System.Int32)">
            <summary>
            construct instance using specified buffer size
            </summary>
            <param name="bufferSize">
            size to use for internal buffer
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.Reset">
            <summary>
            Clear internal state/buffers
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.WriteByte(System.Int32)">
            <summary>
            Write a byte to buffer
            </summary>
            <param name="value">
            The value to write
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.WriteShort(System.Int32)">
            <summary>
            Write a short value to buffer LSB first
            </summary>
            <param name="value">
            The value to write.
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.WriteInt(System.Int32)">
            <summary>
            write an integer LSB first
            </summary>
            <param name="value">The value to write.</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.WriteBlock(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Write a block of data to buffer
            </summary>
            <param name="block">data to write</param>
            <param name="offset">offset of first byte to write</param>
            <param name="length">number of bytes to write</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.AlignToByte">
            <summary>
            Align internal buffer on a byte boundary
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.WriteBits(System.Int32,System.Int32)">
            <summary>
            Write bits to internal buffer
            </summary>
            <param name="b">source of bits</param>
            <param name="count">number of bits to write</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.WriteShortMSB(System.Int32)">
            <summary>
            Write a short value to internal buffer most significant byte first
            </summary>
            <param name="s">value to write</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.Flush(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Flushes the pending buffer into the given output array.  If the
            output array is to small, only a partial flush is done.
            </summary>
            <param name="output">The output array.</param>
            <param name="offset">The offset into output array.</param>
            <param name="length">The maximum number of bytes to store.</param>
            <returns>The number of bytes flushed.</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.ToByteArray">
            <summary>
            Convert internal buffer to byte array.
            Buffer is empty on completion
            </summary>
            <returns>
            The internal buffer contents converted to a byte array.
            </returns>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.BitCount">
            <summary>
            The number of bits written to the buffer
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.PendingBuffer.IsFlushed">
            <summary>
            Indicates if buffer has been flushed
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.DeflaterPending.#ctor">
            <summary>
            Construct instance with default buffer size
            </summary>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.Inflater">
             <summary>
             Inflater is used to decompress data that has been compressed according
             to the "deflate" standard described in rfc1951.
             
             By default Zlib (rfc1950) headers and footers are expected in the input.
             You can use constructor <code> public Inflater(bool noHeader)</code> passing true
             if there is no Zlib header information
            
             The usage is as following.  First you have to set some input with
             <code>SetInput()</code>, then Inflate() it.  If inflate doesn't
             inflate any bytes there may be three reasons:
             <ul>
             <li>IsNeedingInput() returns true because the input buffer is empty.
             You have to provide more input with <code>SetInput()</code>.
             NOTE: IsNeedingInput() also returns true when, the stream is finished.
             </li>
             <li>IsNeedingDictionary() returns true, you have to provide a preset
                dictionary with <code>SetDictionary()</code>.</li>
             <li>IsFinished returns true, the inflater has finished.</li>
             </ul>
             Once the first output byte is produced, a dictionary will not be
             needed at a later stage.
            
             author of the original java version : John Leuner, Jochen Hoenicke
             </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.DECODE_HEADER">
            <summary>
            These are the possible states for an inflater
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.CPLENS">
            <summary>
            Copy lengths for literal codes 257..285
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.CPLEXT">
            <summary>
            Extra bits for literal codes 257..285
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.CPDIST">
            <summary>
            Copy offsets for distance codes 0..29
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.CPDEXT">
            <summary>
            Extra bits for distance codes
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.mode">
            <summary>
            This variable contains the current state.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.readAdler">
            <summary>
            The adler checksum of the dictionary or of the decompressed
            stream, as it is written in the header resp. footer of the
            compressed stream. 
            Only valid if mode is DECODE_DICT or DECODE_CHKSUM.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.neededBits">
            <summary>
            The number of bits needed to complete the current state.  This
            is valid, if mode is DECODE_DICT, DECODE_CHKSUM,
            DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.isLastBlock">
            <summary>
            True, if the last block flag was set in the last block of the
            inflated stream.  This means that the stream ends after the
            current block.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.totalOut">
            <summary>
            The total number of inflated bytes.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.totalIn">
            <summary>
            The total number of bytes set with setInput().  This is not the
            value returned by the TotalIn property, since this also includes the
            unprocessed input.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.noHeader">
            <summary>
            This variable stores the noHeader flag that was given to the constructor.
            True means, that the inflated stream doesn't contain a Zlib header or 
            footer.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.#ctor">
            <summary>
            Creates a new inflater or RFC1951 decompressor
            RFC1950/Zlib headers and footers will be expected in the input data
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.#ctor(System.Boolean)">
            <summary>
            Creates a new inflater.
            </summary>
            <param name="noHeader">
            True if no RFC1950/Zlib header and footer fields are expected in the input data
            
            This is used for GZIPed/Zipped input.
            
            For compatibility with
            Sun JDK you should provide one byte of input more than needed in
            this case.
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.Reset">
            <summary>
            Resets the inflater so that a new stream can be decompressed.  All
            pending input and output will be discarded.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.DecodeHeader">
            <summary>
            Decodes a zlib/RFC1950 header.
            </summary>
            <returns>
            False if more input is needed.
            </returns>
            <exception cref="T:ICSharpCode.SharpZipLib.SharpZipBaseException">
            The header is invalid.
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.DecodeDict">
            <summary>
            Decodes the dictionary checksum after the deflate header.
            </summary>
            <returns>
            False if more input is needed.
            </returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.DecodeHuffman">
            <summary>
            Decodes the huffman encoded symbols in the input stream.
            </summary>
            <returns>
            false if more input is needed, true if output window is
            full or the current block ends.
            </returns>
            <exception cref="T:ICSharpCode.SharpZipLib.SharpZipBaseException">
            if deflated stream is invalid.
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.DecodeChksum">
            <summary>
            Decodes the adler checksum after the deflate stream.
            </summary>
            <returns>
            false if more input is needed.
            </returns>
            <exception cref="T:ICSharpCode.SharpZipLib.SharpZipBaseException">
            If checksum doesn't match.
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.Decode">
            <summary>
            Decodes the deflated stream.
            </summary>
            <returns>
            false if more input is needed, or if finished.
            </returns>
            <exception cref="T:ICSharpCode.SharpZipLib.SharpZipBaseException">
            if deflated stream is invalid.
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.SetDictionary(System.Byte[])">
            <summary>
            Sets the preset dictionary.  This should only be called, if
            needsDictionary() returns true and it should set the same
            dictionary, that was used for deflating.  The getAdler()
            function returns the checksum of the dictionary needed.
            </summary>
            <param name="buffer">
            The dictionary.
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.SetDictionary(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the preset dictionary.  This should only be called, if
            needsDictionary() returns true and it should set the same
            dictionary, that was used for deflating.  The getAdler()
            function returns the checksum of the dictionary needed.
            </summary>
            <param name="buffer">
            The dictionary.
            </param>
            <param name="index">
            The index into buffer where the dictionary starts.
            </param>
            <param name="count">
            The number of bytes in the dictionary.
            </param>
            <exception cref="T:System.InvalidOperationException">
            No dictionary is needed.
            </exception>
            <exception cref="T:ICSharpCode.SharpZipLib.SharpZipBaseException">
            The adler checksum for the buffer is invalid
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.SetInput(System.Byte[])">
            <summary>
            Sets the input.  This should only be called, if needsInput()
            returns true.
            </summary>
            <param name="buffer">
            the input.
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.SetInput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the input.  This should only be called, if needsInput()
            returns true.
            </summary>
            <param name="buffer">
            The source of input data
            </param>
            <param name="index">
            The index into buffer where the input starts.
            </param>
            <param name="count">
            The number of bytes of input to use.
            </param>
            <exception cref="T:System.InvalidOperationException">
            No input is needed.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The index and/or count are wrong.
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.Inflate(System.Byte[])">
            <summary>
            Inflates the compressed stream to the output buffer.  If this
            returns 0, you should check, whether IsNeedingDictionary(),
            IsNeedingInput() or IsFinished() returns true, to determine why no
            further output is produced.
            </summary>
            <param name="buffer">
            the output buffer.
            </param>
            <returns>
            The number of bytes written to the buffer, 0 if no further
            output can be produced.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            if buffer has length 0.
            </exception>
            <exception cref="T:System.FormatException">
            if deflated stream is invalid.
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.Inflate(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Inflates the compressed stream to the output buffer.  If this
            returns 0, you should check, whether needsDictionary(),
            needsInput() or finished() returns true, to determine why no
            further output is produced.
            </summary>
            <param name="buffer">
            the output buffer.
            </param>
            <param name="offset">
            the offset in buffer where storing starts.
            </param>
            <param name="count">
            the maximum number of bytes to output.
            </param>
            <returns>
            the number of bytes written to the buffer, 0 if no further output can be produced.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            if count is less than 0.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            if the index and / or count are wrong.
            </exception>
            <exception cref="T:System.FormatException">
            if deflated stream is invalid.
            </exception>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.IsNeedingInput">
            <summary>
            Returns true, if the input buffer is empty.
            You should then call setInput(). 
            NOTE: This method also returns true when the stream is finished.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.IsNeedingDictionary">
            <summary>
            Returns true, if a preset dictionary is needed to inflate the input.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.IsFinished">
            <summary>
            Returns true, if the inflater has finished.  This means, that no
            input is needed and no output can be produced.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.Adler">
            <summary>
            Gets the adler checksum.  This is either the checksum of all
            uncompressed bytes returned by inflate(), or if needsDictionary()
            returns true (and thus no output was yet produced) this is the
            adler checksum of the expected dictionary.
            </summary>
            <returns>
            the adler checksum.
            </returns>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.TotalOut">
            <summary>
            Gets the total number of output bytes returned by Inflate().
            </summary>
            <returns>
            the total number of output bytes.
            </returns>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.TotalIn">
            <summary>
            Gets the total number of processed compressed input bytes.
            </summary>
            <returns>
            The total number of bytes of processed input bytes.
            </returns>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.RemainingInput">
            <summary>
            Gets the number of unprocessed input bytes.  Useful, if the end of the
            stream is reached and you want to further process the bytes after
            the deflate stream.
            </summary>
            <returns>
            The number of bytes of the input which have not been processed.
            </returns>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.InflaterHuffmanTree">
            <summary>
            Huffman tree used for inflation
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.InflaterHuffmanTree.defLitLenTree">
            <summary>
            Literal length tree
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.InflaterHuffmanTree.defDistTree">
            <summary>
            Distance tree
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.InflaterHuffmanTree.#ctor(System.Byte[])">
            <summary>
            Constructs a Huffman tree from the array of code lengths.
            </summary>
            <param name = "codeLengths">
            the array of code lengths
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.InflaterHuffmanTree.GetSymbol(ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator)">
            <summary>
            Reads the next symbol from input.  The symbol is encoded using the
            huffman tree.
            </summary>
            <param name="input">
            input the input source.
            </param>
            <returns>
            the next symbol, or -1 if not enough input is available.
            </returns>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer">
            <summary>
            An input buffer customised for use by <see cref="T:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream"/>
            </summary>
            <remarks>
            The buffer supports decryption of incoming data.
            </remarks>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.#ctor(System.IO.Stream)">
            <summary>
            Initialise a new instance of <see cref="T:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer"/> with a default buffer size
            </summary>
            <param name="stream">The stream to buffer.</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.#ctor(System.IO.Stream,System.Int32)">
            <summary>
            Initialise a new instance of <see cref="T:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer"/>
            </summary>
            <param name="stream">The stream to buffer.</param>
            <param name="bufferSize">The size to use for the buffer</param>
            <remarks>A minimum buffer size of 1KB is permitted.  Lower sizes are treated as 1KB.</remarks>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.SetInflaterInput(ICSharpCode.SharpZipLib.Zip.Compression.Inflater)">
            <summary>
            Call <see cref="M:ICSharpCode.SharpZipLib.Zip.Compression.Inflater.SetInput(System.Byte[],System.Int32,System.Int32)"/> passing the current clear text buffer contents.
            </summary>
            <param name="inflater">The inflater to set input for.</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.Fill">
            <summary>
            Fill the buffer from the underlying input stream.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ReadRawBuffer(System.Byte[])">
            <summary>
            Read a buffer directly from the input stream
            </summary>
            <param name="buffer">The buffer to fill</param>
            <returns>Returns the number of bytes read.</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ReadRawBuffer(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read a buffer directly from the input stream
            </summary>
            <param name="outBuffer">The buffer to read into</param>
            <param name="offset">The offset to start reading data into.</param>
            <param name="length">The number of bytes to read.</param>
            <returns>Returns the number of bytes read.</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ReadClearTextBuffer(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read clear text data from the input stream.
            </summary>
            <param name="outBuffer">The buffer to add data to.</param>
            <param name="offset">The offset to start adding data at.</param>
            <param name="length">The number of bytes to read.</param>
            <returns>Returns the number of bytes actually read.</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ReadLeByte">
            <summary>
            Read a <see cref="T:System.Byte"/> from the input stream.
            </summary>
            <returns>Returns the byte read.</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ReadLeShort">
            <summary>
            Read an <see cref="T:System.Int16"/> in little endian byte order.
            </summary>
            <returns>The short value read case to an int.</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ReadLeInt">
            <summary>
            Read an <see cref="T:System.Int32"/> in little endian byte order.
            </summary>
            <returns>The int value read.</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ReadLeLong">
            <summary>
            Read a <see cref="T:System.Int64"/> in little endian byte order.
            </summary>
            <returns>The long value read.</returns>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.RawLength">
            <summary>
            Get the length of bytes bytes in the <see cref="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.RawData"/>
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.RawData">
            <summary>
            Get the contents of the raw data buffer.
            </summary>
            <remarks>This may contain encrypted data.</remarks>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ClearTextLength">
            <summary>
            Get the number of useable bytes in <see cref="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ClearText"/>
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ClearText">
            <summary>
            Get the contents of the clear text buffer.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.Available">
            <summary>
            Get/set the number of bytes available
            </summary>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream">
             <summary>
             This filter stream is used to decompress data compressed using the "deflate"
             format. The "deflate" format is described in RFC 1951.
            
             This stream may form the basis for other decompression filters, such
             as the <see cref="!:ICSharpCode.SharpZipLib.GZip.GZipInputStream">GZipInputStream</see>.
            
             Author of the original java version : John Leuner.
             </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.#ctor(System.IO.Stream)">
            <summary>
            Create an InflaterInputStream with the default decompressor
            and a default buffer size of 4KB.
            </summary>
            <param name = "baseInputStream">
            The InputStream to read bytes from
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.#ctor(System.IO.Stream,ICSharpCode.SharpZipLib.Zip.Compression.Inflater)">
            <summary>
            Create an InflaterInputStream with the specified decompressor
            and a default buffer size of 4KB.
            </summary>
            <param name = "baseInputStream">
            The source of input data
            </param>
            <param name = "inf">
            The decompressor used to decompress data read from baseInputStream
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.#ctor(System.IO.Stream,ICSharpCode.SharpZipLib.Zip.Compression.Inflater,System.Int32)">
            <summary>
            Create an InflaterInputStream with the specified decompressor
            and the specified buffer size.
            </summary>
            <param name = "baseInputStream">
            The InputStream to read bytes from
            </param>
            <param name = "inflater">
            The decompressor to use
            </param>
            <param name = "bufferSize">
            Size of the buffer to use
            </param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Skip(System.Int64)">
            <summary>
            Skip specified number of bytes of uncompressed data
            </summary>
            <param name="count">
            Number of bytes to skip
            </param>
            <returns>
            The number of bytes skipped, zero if the end of 
            stream has been reached
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="count">The number of bytes</paramref> to skip is less than or equal to zero.
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.StopDecrypting">
            <summary>
            Clear any cryptographic state.
            </summary>		
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Fill">
            <summary>
            Fills the buffer with more data to decompress.
            </summary>
            <exception cref="T:ICSharpCode.SharpZipLib.SharpZipBaseException">
            Stream ends early
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Flush">
            <summary>
            Flushes the baseInputStream
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Sets the position within the current stream
            Always throws a NotSupportedException
            </summary>
            <param name="offset">The relative offset to seek to.</param>
            <param name="origin">The <see cref="T:System.IO.SeekOrigin"/> defining where to seek from.</param>
            <returns>The new position in the stream.</returns>
            <exception cref="T:System.NotSupportedException">Any access</exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.SetLength(System.Int64)">
            <summary>
            Set the length of the current stream
            Always throws a NotSupportedException
            </summary>
            <param name="value">The new length value for the stream.</param>
            <exception cref="T:System.NotSupportedException">Any access</exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes to stream and advances the current position
            This method always throws a NotSupportedException
            </summary>
            <param name="buffer">Thew buffer containing data to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.NotSupportedException">Any access</exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.WriteByte(System.Byte)">
            <summary>
            Writes one byte to the current stream and advances the current position
            Always throws a NotSupportedException
            </summary>
            <param name="value">The byte to write.</param>
            <exception cref="T:System.NotSupportedException">Any access</exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
            <summary>
            Entry point to begin an asynchronous write.  Always throws a NotSupportedException.
            </summary>
            <param name="buffer">The buffer to write data from</param>
            <param name="offset">Offset of first byte to write</param>
            <param name="count">The maximum number of bytes to write</param>
            <param name="callback">The method to be called when the asynchronous write operation is completed</param>
            <param name="state">A user-provided object that distinguishes this particular asynchronous write request from other requests</param>
            <returns>An <see cref="T:System.IAsyncResult">IAsyncResult</see> that references the asynchronous write</returns>
            <exception cref="T:System.NotSupportedException">Any access</exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Close">
            <summary>
            Closes the input stream.  When <see cref="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.IsStreamOwner"></see>
            is true the underlying stream is also closed.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads decompressed data into the provided buffer byte array
            </summary>
            <param name="buffer">
            The array to read and decompress data into
            </param>
            <param name="offset">
            The offset indicating where the data should be placed
            </param>
            <param name="count">
            The number of bytes to decompress
            </param>
            <returns>The number of bytes read.  Zero signals the end of stream</returns>
            <exception cref="T:ICSharpCode.SharpZipLib.SharpZipBaseException">
            Inflater needs a dictionary
            </exception>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.inf">
            <summary>
            Decompressor for this stream
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.inputBuffer">
            <summary>
            <see cref="T:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer">Input buffer</see> for this stream.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.baseInputStream">
            <summary>
            Base stream the inflater reads from.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.csize">
            <summary>
            The compressed size
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.isClosed">
            <summary>
            Flag indicating wether this instance has been closed or not.
            </summary>
        </member>
        <member name="F:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.isStreamOwner">
            <summary>
            Flag indicating wether this instance is designated the stream owner.
            When closing if this flag is true the underlying stream is closed.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.IsStreamOwner">
            <summary>
            Get/set flag indicating ownership of underlying stream.
            When the flag is true <see cref="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Close"/> will close the underlying stream also.
            </summary>
            <remarks>
            The default value is true.
            </remarks>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Available">
            <summary>
            Returns 0 once the end of the stream (EOF) has been reached.
            Otherwise returns 1.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.CanRead">
            <summary>
            Gets a value indicating whether the current stream supports reading
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.CanSeek">
            <summary>
            Gets a value of false indicating seeking is not supported for this stream.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.CanWrite">
            <summary>
            Gets a value of false indicating that this stream is not writeable.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Length">
            <summary>
            A value representing the length of the stream in bytes.
            </summary>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.Position">
            <summary>
            The current position within the stream.
            Throws a NotSupportedException when attempting to set the position
            </summary>
            <exception cref="T:System.NotSupportedException">Attempting to set the position</exception>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow">
            <summary>
            Contains the output from the Inflation process.
            We need to have a window so that we can refer backwards into the output stream
            to repeat stuff.<br/>
            Author of the original java version : John Leuner
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow.Write(System.Int32)">
            <summary>
            Write a byte to this output window
            </summary>
            <param name="value">value to write</param>
            <exception cref="T:System.InvalidOperationException">
            if window is full
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow.Repeat(System.Int32,System.Int32)">
            <summary>
            Append a byte pattern already in the window itself
            </summary>
            <param name="length">length of pattern to copy</param>
            <param name="distance">distance from end of window pattern occurs</param>
            <exception cref="T:System.InvalidOperationException">
            If the repeated data overflows the window
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow.CopyStored(ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator,System.Int32)">
            <summary>
            Copy from input manipulator to internal window
            </summary>
            <param name="input">source of data</param>
            <param name="length">length of data to copy</param>
            <returns>the number of bytes copied</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow.CopyDict(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Copy dictionary to window
            </summary>
            <param name="dictionary">source dictionary</param>
            <param name="offset">offset of start in source dictionary</param>
            <param name="length">length of dictionary</param>
            <exception cref="T:System.InvalidOperationException">
            If window isnt empty
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow.GetFreeSpace">
            <summary>
            Get remaining unfilled space in window
            </summary>
            <returns>Number of bytes left in window</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow.GetAvailable">
            <summary>
            Get bytes available for output in window
            </summary>
            <returns>Number of bytes filled</returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow.CopyOutput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Copy contents of window to output
            </summary>
            <param name="output">buffer to copy to</param>
            <param name="offset">offset to start at</param>
            <param name="len">number of bytes to count</param>
            <returns>The number of bytes copied</returns>
            <exception cref="T:System.InvalidOperationException">
            If a window underflow occurs
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow.Reset">
            <summary>
            Reset by clearing window so <see cref="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow.GetAvailable">GetAvailable</see> returns 0
            </summary>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator">
             <summary>
             This class allows us to retrieve a specified number of bits from
             the input buffer, as well as copy big byte blocks.
            
             It uses an int buffer to store up to 31 bits for direct
             manipulation.  This guarantees that we can get at least 16 bits,
             but we only need at most 15, so this is all safe.
            
             There are some optimizations in this class, for example, you must
             never peek more than 8 bits more than needed, and you must first
             peek bits before you may drop them.  This is not a general purpose
             class but optimized for the behaviour of the Inflater.
            
             authors of the original java version : John Leuner, Jochen Hoenicke
             </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.#ctor">
            <summary>
            Constructs a default StreamManipulator with all buffers empty
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.PeekBits(System.Int32)">
            <summary>
            Get the next sequence of bits but don't increase input pointer.  bitCount must be
            less or equal 16 and if this call succeeds, you must drop
            at least n - 8 bits in the next call.
            </summary>
            <param name="bitCount">The number of bits to peek.</param>
            <returns>
            the value of the bits, or -1 if not enough bits available.  */
            </returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.DropBits(System.Int32)">
            <summary>
            Drops the next n bits from the input.  You should have called PeekBits
            with a bigger or equal n before, to make sure that enough bits are in
            the bit buffer.
            </summary>
            <param name="bitCount">The number of bits to drop.</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.GetBits(System.Int32)">
            <summary>
            Gets the next n bits and increases input pointer.  This is equivalent
            to <see cref="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.PeekBits(System.Int32)"/> followed by <see cref="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.DropBits(System.Int32)"/>, except for correct error handling.
            </summary>
            <param name="bitCount">The number of bits to retrieve.</param>
            <returns>
            the value of the bits, or -1 if not enough bits available.
            </returns>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.SkipToByteBoundary">
            <summary>
            Skips to the next byte boundary.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.CopyBytes(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Copies bytes from input buffer to output buffer starting
            at output[offset].  You have to make sure, that the buffer is
            byte aligned.  If not enough bytes are available, copies fewer
            bytes.
            </summary>
            <param name="output">
            The buffer to copy bytes to.
            </param>
            <param name="offset">
            The offset in the buffer at which copying starts
            </param>
            <param name="length">
            The length to copy, 0 is allowed.
            </param>
            <returns>
            The number of bytes copied, 0 if no bytes were available.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            Length is less than zero
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Bit buffer isnt byte aligned
            </exception>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.Reset">
            <summary>
            Resets state and empties internal buffers
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.SetInput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Add more input for consumption.
            Only call when IsNeedingInput returns true
            </summary>
            <param name="buffer">data to be input</param>
            <param name="offset">offset of first byte of input</param>
            <param name="count">number of bytes of input to add.</param>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.AvailableBits">
            <summary>
            Gets the number of bits available in the bit buffer.  This must be
            only called when a previous PeekBits() returned -1.
            </summary>
            <returns>
            the number of bits available.
            </returns>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.AvailableBytes">
            <summary>
            Gets the number of bytes available.
            </summary>
            <returns>
            The number of bytes available.
            </returns>
        </member>
        <member name="P:ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator.IsNeedingInput">
            <summary>
            Returns true when SetInput can be called
            </summary>
        </member>
        <member name="T:ICSharpCode.SharpZipLib.Zip.ZipException">
            <summary>
            Represents exception conditions specific to Zip archive handling
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.ZipException.#ctor">
            <summary>
            Initializes a new instance of the ZipException class.
            </summary>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.ZipException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the ZipException class with a specified error message.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
        </member>
        <member name="M:ICSharpCode.SharpZipLib.Zip.ZipException.#ctor(System.String,System.Exception)">
            <summary>
            Initialise a new instance of ZipException.
            </summary>
            <param name="message">A message describing the error.</param>
            <param name="exception">The exception that is the cause of the current exception.</param>
        </member>
        <member name="T:FlatRedBall.IO.PngLoader">
            <summary>
            Notes:  Interlaced pngs are now fully supported 
                    Only the chunks of data that are outlined in the Png specification as Critical Chunks are supported.
            
            TODO:   Allow use of the CRC values to check the validity of the Chunk data
                    Consider implementing the Ancillary Chunks since chunks like gAMA can drastically change visible colors.
            </summary>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.FormUint(System.IO.Stream@)">
            <summary>
            Arranges and combines the byte values stored in byte[] bytes in order to form
            a uint.
            </summary>
            <param name="bytes">A byte[] of length 4 to be formed into a uint.</param>
            <returns>The uint represented by byte[] bytes.</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.GetBytesPerPixel(FlatRedBall.IO.PngLoader.HeaderInfo)">
            <summary>
            Uses the ColorType and Bitdepth of this image to calculate the number of bytes per pixel.
            </summary>
            <param name="header">The HeaderInfo containing IHDR data for this image</param>
            <returns>The number of BytesPerPixel in this image.</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ReadFile(System.IO.Stream)">
            <summary>
            Reads the data in the given Stream and stores it in a byte[] that is then trimmed and returned.
            </summary>
            <param name="stream">A read-enabled Stream that is reading from a .png file.</param>
            <returns>A byte[] containing the file being read through Stream stream.</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.LoadFile(System.String)">
            <summary>
            Loads a file (hopefully a .png image) into a byte[].
            </summary>
            <param name="fileName">The name of the .png file to be loaded</param>
            <returns>A Byte[] containing the file referred to by fileName.</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ReverseFilterSub(System.Byte[]@,System.UInt32,System.UInt32,System.Single,System.Byte)">
            <summary>
            Reverses the filtering done on a scanline of pixels that have been filtered using Method 0 (Subtract)
            </summary>
            <param name="image">A reference to the byte[] containing the image(decompressed)</param>
            <param name="pointer">The index of the byte where this scanline begins(after the filter byte)</param>
            <param name="bps">The number of bits per scanline.</param>
            <param name="bpp">The number of bytes per pixel</param>
            <param name="bitDepth">The number of bits per sample</param>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ReverseFilterUp(System.Byte[]@,System.UInt32,System.UInt32,System.Single,System.Byte)">
            <summary>
            Reverses the filtering done on a scanline of pixels that have been filtered using Method 1 (Up)
            </summary>
            <param name="image">A reference to the byte[] containing the image(decompressed)</param>
            <param name="pointer">The index of the byte where this scanline begins(after the filter byte)</param>
            <param name="bps">The number of bits per scanline.</param>
            <param name="bpp">The number of bytes per pixel</param>
            <param name="bitDepth">The number of bits per sample</param>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ReverseFilterAverage(System.Byte[]@,System.UInt32,System.UInt32,System.Single,System.Byte)">
            <summary>
            Reverses the filtering done on a scanline of pixels that have been filtered using Method 2 (Average)
            </summary>
            <param name="image">A reference to the byte[] containing the image(decompressed)</param>
            <param name="pointer">The index of the byte where this scanline begins(after the filter byte)</param>
            <param name="bps">The number of bits per scanline.</param>
            <param name="bpp">The number of bytes per pixel</param>
            <param name="bitDepth">The number of bits per sample</param>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ReverseFilterPaeth(System.Byte[]@,System.UInt32,System.UInt32,System.Single,System.Byte)">
            <summary>
            Reverses the filtering done on a scanline of pixels that have been filtered using Method 3 (Paeth)
            </summary>
            <param name="image">A reference to the byte[] containing the image(decompressed)</param>
            <param name="pointer">The index of the byte where this scanline begins(after the filter byte)</param>
            <param name="bps">The number of bits per scanline.</param>
            <param name="bpp">The number of bytes per pixel</param>
            <param name="bitDepth">The number of bits per sample</param>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.PaethPredictor(System.Int32,System.Int32,System.Int32)">
            <summary>
            A helper for the ReverseFilterPaeth method
            </summary>
            <param name="left"></param>
            <param name="up"></param>
            <param name="upLeft"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ReverseFiltering(System.Byte[],FlatRedBall.IO.PngLoader.HeaderInfo)">
            <summary>
            Calls the appropriate Reverse Filtering methods to return the image to its original state.
            </summary>
            <param name="image">The byte[] containing the filtered(but decompressed) image.</param>
            <param name="header">A HeaderInfo struct containing IHDR data for this image.</param>
            <returns>A byte[] containing the restored, original image(in bytes)</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.GetChunkData(System.IO.Stream@,System.UInt32)">
            <summary>
            Reads the bytes of a chunk's ChunkData segment from the Stream and returns it in a
            byte[].
            </summary>
            <param name="file">A Stream pointing to the .png image's data.</param>
            <param name="length">The given length of the ChunkData (Should be the value provided by the Chunk).</param>
            <returns>A byte[] containing ChunkData from the Stream</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ConvertToType(System.UInt32)">
            <summary>
            Converts a 4-byte uint into an enumerated ChunkType
            </summary>
            <param name="type">The 4-byte value read from the .png image to signify a Chunk type</param>
            <returns>The enumerated ChunkType matching the uint passed in</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.GetNextChunk(System.IO.Stream@,System.Collections.Generic.List{FlatRedBall.IO.PngLoader.Chunk}@)">
            <summary>
            Reads the length, type, data and CRC of the next chunk in the file, and then forms a Chunk
            struct using this data.
            </summary>
            <param name="file">A Stream pointing to the byte data of the .png image.</param>
            <param name="chunks">A reference to the List of chunks that this Chunk will be stored in.</param>
            <returns>True if the Chunk read isn't the IEND chunk AND the end of the file hasn't been reached.</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ReadHeader(System.Collections.Generic.List{FlatRedBall.IO.PngLoader.Chunk}@)">
            <summary>
            Processes the IHDR chunk by reading and storing all of its information in a HeaderInfo struct.
            </summary>
            <param name="chunks">A List containing all of the Chunks for this .png image</param>
            <returns>A HeaderInfo struct containing all of the information of this images IHDR chunk</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ReadPalette(FlatRedBall.IO.PngLoader.Chunk,FlatRedBall.IO.PaletteInfo@)">
            <summary>
            Processes the PLTE chunk by reading in all of the indexed color values and storing them in
            a PaletteInfo struct.
            </summary>
            <param name="plte">The Chunk containing the PLTE chunk from the file</param>
            <param name="palette">An unused PaletteInfo struct to be filled by data from plte</param>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ProcessChunks(System.Collections.Generic.List{FlatRedBall.IO.PngLoader.Chunk},FlatRedBall.IO.PngLoader.HeaderInfo,FlatRedBall.IO.PaletteInfo@)">
            <summary>
            Takes a List of all of the Chunks in the .png image being loaded (after IHDR is loaded and removed) 
            and processes each Chunk appropriately before returning the compressed image. NOTE: Currently only 
            processes the required Chunks PLTE, IDAT and IEND. Ancillary chunks are currently unsupported.
            </summary>
            <param name="chunks">The List of chunks loaded from the .png image file</param>
            <param name="header">The HeaderInfo loaded from the IHDR chunk</param>
            <param name="palette">An unused PaletteInfo struct to load the PLTE chunk data into</param>
            <returns>A byte[] containing the constructed and decompressed image</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.CheckSignature(System.IO.Stream@)">
            <summary>
            Checks the first 8 bytes of the file in the given Stream against the standard signature
            for .png images. 
            </summary>
            <param name="file">The byte Stream pointing to data from the .png file</param>
            <returns>True if the Stream file contains a valid .png image</returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ReadImageData(FlatRedBall.IO.PngLoader.Chunk,System.Byte[]@,System.Int32@)">
            <summary>
            Reads data from the given IDAT chunk and appends it to the List imageData.
            </summary>
            <param name="idat">A Chunk containing a compressed section of the image.</param>
            <param name="imageData">A List of bytes to hold the entire compressed image.</param>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.ReadStream(ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream@)">
            <summary>
            Reads the decompressed(inflated) image data from an InflaterInputStream that was fed the compressed
            image.
            </summary>
            <param name="array">The byte[] to store the decompressed bytes of the image in.</param>
            <param name="stream">The InflaterInputStream that contains the deflated(compressed) image.</param>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.BuildPixels(System.Byte[],FlatRedBall.IO.PngLoader.HeaderInfo@,FlatRedBall.IO.PaletteInfo@)">
            <summary>
            Does the remaining work to convert the byte[] containing the image into a Color[] containing colors
            for each pixel. This operation is different for most individual combinations of ColorType and bitDepth 
            and currently only ColorType 2 is supported.
            </summary>
            <param name="image"></param>
            <param name="header"></param>
            <param name="palette"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.IO.PngLoader.GetPixelData(System.String)">
            <summary>
            Loads a .png image from the fileName given and returns an array of pixel colors.
            </summary>
            <param name="fileName">The name of the .png image to be loaded.</param>
            <returns>
            Returns a Microsoft.Xna.Framework.Graphics.Color[] containing one item(Color) for each pixel
            in the image.</returns>
        </member>
        <member name="T:FlatRedBall.IO.PngLoader.ChunkTypes">
            <summary>
            Binds common .png chunk types to their Hexadecimal values.
            </summary>
        </member>
        <member name="T:FlatRedBall.IO.PngLoader.Chunk">
            <summary>
            Represents a typed chunk of data from the .png image.
            </summary>
        </member>
        <member name="T:FlatRedBall.IO.PngLoader.HeaderInfo">
            <summary>
            Holds all of the information contained in the IHDR chunk of the .png image.
            </summary>
        </member>
        <member name="M:FlatRedBall.IO.Remote.FtpManager.SaveFile(System.String,System.String,System.String,System.String)">
            <summary>
            Downloads a file locally
            </summary>
            <param name="url">The remote file to download.  For example: "ftp://ftp.flatredball.com/flatredball.com/";</param>
            <param name="localFile">The local file name to download to</param>
            <param name="userName">FTP username</param>
            <param name="password">FTP password</param>
        </member>
        <member name="T:FlatRedBall.IO.StateManager">
            <summary>Note: this class will box value types, use only to store system state to allow recovery, 
            not in-game state while in a loop.</summary>
        </member>
        <member name="M:FlatRedBall.IO.StateManager.Get``1(System.String)">
            <summary>Casts the key value to "T".</summary>
            <returns>default(T) if the value is not found in state manager.</returns>
        </member>
        <member name="M:FlatRedBall.IO.StateManager.Initialize">
            <summary>should be after events are subscribed to.</summary>
        </member>
        <member name="M:FlatRedBall.IO.StateManager.OnActivating">
            <summary>Raises the Activating event.</summary>
        </member>
        <member name="M:FlatRedBall.IO.StateManager.OnDeactivating">
            <summary>Raises the Deactivating event.</summary>
        </member>
        <member name="E:FlatRedBall.IO.StateManager.Activating">
            <summary>This event is raised when the game is being resumed after being deactivated.</summary>
        </member>
        <member name="E:FlatRedBall.IO.StateManager.Deactivating">
            <summary>This event is raised when state should be saved.</summary>
        </member>
        <member name="P:FlatRedBall.IO.StateManager.WasActivated">
            <summary>Will be true of the Activating event was raised.</summary>
        </member>
        <member name="P:FlatRedBall.IO.StateManager.Item(System.String)">
            <returns>Returns the key value, null if not found</returns>
        </member>
        <member name="P:FlatRedBall.IO.StateManager.Current">
            <summary>Singleton instance</summary>
        </member>
        <member name="T:FlatRedBall.IO.StateManager.DefaultStateManager">
            <summary>Simple implementation ... keeps state in memory, does not save anywhere.
            Also, Activated and Deactivated events will never raise.</summary>
            <remarks>This implementation is for cross platform support on non-windows phone platforms</remarks>
        </member>
        <member name="T:FlatRedBall.ManagedSpriteGroups.BodySpriteState">
            <summary>
            A Save class storing a BodySprite.
            </summary>
            <remarks>
            This class is used in the SpriteRigSave class.
            </remarks>
        </member>
        <member name="T:FlatRedBall.ManagedSpriteGroups.GridRelativeTexture">
            <summary>
            A Texture2D and relative integer position.
            </summary>
            <remarks>
            This struct is generally used to detect patterns on FlatRedBall.ManagedSpriteGroups.SpriteGrids.
            </remarks>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.GridRelativeTexture.#ctor(System.Int32,System.Int32,Microsoft.Xna.Framework.Graphics.Texture2D)">
            <summary>
            Creates a new GridRelativeTexture.
            </summary>
            <param name="x">The relative X position to assign.</param>
            <param name="y">The relative Y position to assign.</param>
            <param name="texture2D">The Texture2D reference to assign.</param>
        </member>
        <member name="T:FlatRedBall.ManagedSpriteGroups.JointState">
            <summary>
            An XML-Serializbale class representing the state of a Joint.  Used in
            the SpriteRigSave class.
            </summary>
        </member>
        <member name="T:FlatRedBall.ManagedSpriteGroups.Pose">
            <summary>
            A snapshot of a set of rotations, scales, and positions of Sprites in a SpriteRig.
            </summary>
            <remarks>
            These poses are used as keyframes for SpriteRig animation.  SpriteRigs interpolate
            between poses to create fluid animation.
            </remarks>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.Pose.#ctor">
            <summary>
            Creates a new Pose with an empty but instantiated jointStateArray and bodySpriteStateArray.
            </summary>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.Pose.#ctor(System.String,System.Collections.Generic.List{FlatRedBall.ManagedSpriteGroups.JointState},System.Collections.Generic.List{FlatRedBall.ManagedSpriteGroups.BodySpriteState},System.Double)">
            <summary>
            Creates a new Pose with the argument name, jointStateArray, bodySpriteStateArray,
            and time (in milliseconds) from the beginning of the PoseChain.
            </summary>
            <param name="name">Name of the pose.</param>
            <param name="jointStateArray">Reference to the JointStateArray to use.</param>
            <param name="bodySpriteStateArray">Reference to the BodySpriteStateArray to use.</param>
            <param name="time">Time in milliseconds that the Pose should be set from the beginning of the PoseChain.</param>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.Pose.DiffersFrom(FlatRedBall.ManagedSpriteGroups.Pose)">
            <summary>
            Determines whether this instance differs from the argument Pose.
            </summary>
            <remarks>
            This only tests the stored BodySpriteStates and JointStates.  This method
            does not compare the time and name variables.
            </remarks>
            <param name="poseToCompareAgainst">The Pose to compare against.</param>
            <returns>Whether this instance and the argument BodySpriteStates or PoseStates differ.</returns>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.Pose.Set(FlatRedBall.ManagedSpriteGroups.Pose)">
            <summary>
            Set's a particular Pose's poseStateArray, bodySpriteStateArray, and time to the passed argument's corresponding variables.
            </summary>
            <remarks>
            This method does not change the name of the Pose.  It will remain the same after the method is called.
            </remarks>
            <param name="poseToSetTo">The pose from which to copy the information.  This is a shallow copy - members are not cloned, but 
            rather references are copied.</param>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.Pose.Clone">
            <summary>
            Creates a clone of this instance.  
            </summary>
            <remarks>
            The cloned Pose will have its own JointStateArray and BodySpriteState array, but each will
            have the same values.
            </remarks>
            <returns>Reference to the cloned Pose.</returns>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.Pose.Name">
            <summary>
            The name of the Pose.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.Pose.JointStates">
            <summary>
            The state of all of the joints (rotation and relative position) for this pose.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.Pose.BodySpriteStates">
            <summary>
            The state of all of the body Sprites (relative position, scale, and frame) for this pose.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.Pose.Time">
            <summary>
            The number of seconds that the pose should be executed from the beginning of the PoseChain
            </summary>
        </member>
        <member name="T:FlatRedBall.ManagedSpriteGroups.PoseChain">
            <summary>
            Represents a collection of Poses which can be interpolated between to create
            fluid SpriteRig animation.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteChain.ColorOperation">
            <summary>
            The color operation to use when applying the Red, Green, and Blue properties.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteChain.BlendOperation">
            <summary>
            Controls how the SpriteChain will blend with objects behind it when drawn.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteChain.Red">
            <summary>
            The red component to use when applying the ColorOperation.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteChain.Green">
            <summary>
            The green component to use when applying the ColorOperation.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteChain.Blue">
            <summary>
            The blue component to use when applying the ColorOperation.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteChain.Alpha">
            <summary>
            The alpha (opacity) to use when rendering the SpriteChain.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteChain.RedRate">
            <summary>
            The rate of change (in units per second) to apply to the Red property.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteChain.GreenRate">
            <summary>
            The rate of change (in units per second) to apply to the Green property.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteChain.BlueRate">
            <summary>
            The rate of change (in units per second) to apply to the Glue property.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteChain.AlphaRate">
            <summary>
            The rate of change (in units per second) to apply to the Alpha property.
            </summary>
        </member>
        <member name="T:FlatRedBall.ManagedSpriteGroups.SpriteFrameCustomBehavior">
            <summary>
            Delegate for methods which can be assigned to the SpriteFrame
            for every-frame custom logic.
            </summary>
            <remarks>
            <seealso cref="E:FlatRedBall.ManagedSpriteGroups.SpriteFrame.CustomBehavior"/>
            </remarks>
            <param name="spriteFrame">The SpriteFrame on which the logic should execute.</param>
        </member>
        <member name="T:FlatRedBall.ManagedSpriteGroups.SpriteFrame">
            <summary>
            Visible object with static-width borders.
            </summary>
            <remarks>
            SpriteFrames are often used for creating UI because their static-width
            borders make single-texture UI entities easy to construct and manage.
            <para>
            SpriteFrames achieve a static-width border by 
            
            </para>
            </remarks>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.#ctor">
            <summary>
            Constructs a new, empty SpriteFrame.
            </summary>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.#ctor(Microsoft.Xna.Framework.Graphics.Texture2D,FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides)">
            <summary>
            Constructs a new SpriteFrame using the argument texture and border sides.
            </summary>
            <remarks>
            SpriteFrames are usually created through the SpriteManager's AddSpriteFrame method.
            <seealso cref="M:FlatRedBall.SpriteManager.AddSpriteFrame(Microsoft.Xna.Framework.Graphics.Texture2D,FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides)"/>
            </remarks>
            <param name="textureToUse">The texture that the SpriteFrame will display.</param>
            <param name="borders">Which sides should be used by the SpriteFrame.</param>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.#ctor(Microsoft.Xna.Framework.Graphics.Texture2D,FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides,FlatRedBall.Graphics.Layer)">
            <summary>
            Constructs a new SpriteFrame using the argument texture, border sides, and Layer.
            </summary>
            <param name="textureToUse">The texture that the SpriteFrame will display.</param>
            <param name="borders">Which sides should be used by the SpriteFrame.</param>
            <param name="layerToAddTo">The Layer that the SpriteFrame will be drawn on.</param>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Clone">
            <summary>
            Creates a copy of the SpriteFrame instance.
            </summary>
            <remarks>
            The cloned SpriteFrame will not belong to any of the lists that the original does.
            Since it will not be added to the SpriteManager it will not be drawn and managed.
            To add the SpriteFrame to the engine, call SpriteManager.AddSpriteFrame passing
            the newly created SpriteFrame as the argument.
            <seealso cref="M:FlatRedBall.SpriteManager.AddSpriteFrame(FlatRedBall.ManagedSpriteGroups.SpriteFrame)"/>
            </remarks>
            <returns>The newly-created SpriteFrame.</returns>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.DoesCameraRelativeRayIntersect2D(System.Single,System.Single,System.Single,FlatRedBall.Camera)">
            <summary>
            Returns whether a ray starting at the argument Camera's position and travelling through the
            point relative to the Camera specified by the arguments intersects with this instance.
            </summary>
            <remarks>
            This method does not take the camera's rotation into consideration when calculating the ray.
            </remarks>
            <param name="cameraRelativeX">The X position relative to the argument Camera.</param>
            <param name="cameraRelativeY">The Y position relative to the argument Camera.</param>
            <param name="cameraRelativeZ">The Z position relative to the argument Camera.</param>
            <param name="camera">The camera to use for the intersection test.</param>
            <returns>Whether the ray intersects the SpriteFrame.</returns>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.IsSpriteComponentOfThis(FlatRedBall.Sprite)">
            <summary>
            Returns whether the argument Sprite is a Sprite used by this instance.
            </summary>
            <param name="sprite">The Sprite to check.</param>
            <returns>Whether the argument Sprite is a component of this.</returns>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Pause(FlatRedBall.Instructions.InstructionList)">
            <summary>
            Stops all automatic behavior and stores the necessary instructions to 
            resume activity in the argument InstructionList.
            </summary>
            <param name="instructions">The List to store instructions which are executed to
            resume activity.</param>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.ToString">
            <summary>
            Returns a string with information about this instance.
            </summary>
            <returns>The string containing information about this instance.</returns>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.UpdateInternalSpriteNames">
            <summary>
            Sets the contained DynamicSpriteFrame to help identify SpriteFrame membership and side.
            </summary>
            <remarks>
            If the SpriteFrame's name is "spriteFrame1", each side will have its name be
            the SpriteFrame's name with a suffix indicating the side that the Sprite represents.
            That is, the center Sprite would be named "spriteFrame1_center", the top
            would be "spriteFrame1_top", and so on.
            
            <para>This method can be used in debugging to help identify whether DynamicSprites belong
            to a SpriteFrame, and if so, which side they represent.  Otherwise, this
            method has no engine functionality.</para>
            </remarks>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Manage">
            <summary>
            Performs the necessary every-frame management of the SpriteFrame.  This
            method is automatically called by the SpriteManager.
            </summary>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteFrame.RefreshBorders(FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides)">
            <summary>
            Updates the SpriteFrame borders.  This method is called automatically
            whenever the Borders property is changed.
            </summary>
            <param name="borderSides">The new BorderSides to use.</param>
        </member>
        <member name="E:FlatRedBall.ManagedSpriteGroups.SpriteFrame.CustomBehavior">
            <summary>
            Every-frame automatically raised by the SpriteManager.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Alpha">
            <summary>
            Controls the SpriteFrame's transparency.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.AlphaRate">
            <summary>
            The rate of change of the alpha component in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Red">
            <summary>
            The red value to use with the ColorOperation.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Green">
            <summary>
            The green value to use with the ColorOperation.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Blue">
            <summary>
            The blue value to use with the color operation.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.RedRate">
            <summary>
            The rate of change of the red component in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.GreenRate">
            <summary>
            The rate of change of the green component in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BlueRate">
            <summary>
            The rate of change of the blue component in units per second.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.ColorOperation">
            <summary>
            The color operation to perform using the color component values and 
            Texture (if available).
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BlendOperation">
            <summary>
            The blend operation to perform using the alpha component value and
            Texture (if available).
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Animate">
            <summary>
            Whether animation is currently turned on.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.AnimationChains">
            <summary>
            Gets all animations stored in this.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.AnimationSpeed">
            <summary>
            Gets and sets how fast AnimationChains will animate.  Default is 1.  A value
            of 2 will result in AnimationChains animating twice as fast.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.CurrentChain">
            <summary>
            Gets the current AnimationChain.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.CurrentChainIndex">
            <summary>
            Gets and sets the index of the current AnimationChain.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.CurrentChainName">
            <summary>
            Gets the current AnimationChain name or sets the current AnimationChain by name.
            </summary>
            <remarks>
            Setting this property will set the search the SpriteFrame for an AnimationChain with a
            matching name and set it as the current AnimationChain.
            </remarks>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.CurrentFrameIndex">
            <summary>
            Gets and sets the current AnimationFrame index.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.JustChangedFrame">
            <summary>
            Gets whether the current AnimationFrame just changed this frame due to animation.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.JustCycled">
            <summary>
            Gets whether the current AnimationChain just cycled (looped) this frame due to animation.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.UseAnimationRelativePosition">
            <summary>
            Whether the current AnimationFrame's relative position values (RelativeX and RelativeY) are applied
            when animating.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.LayerBelongingTo">
            <summary>
            The Layer that this SpriteFrame belongs to.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.TextureBorderWidth">
            <summary>
            The width of the border in texture coordinates.
            </summary>
            <remarks>
            This defines the section of the texture that should not stretch.  Increasing this value will
            show more of the texture on the outside border Sprites and less on the inside.
            </remarks>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.SpriteBorderWidth">
            <summary>
            The width of the border Sprites in world coordinates.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Borders">
            <summary>
            The borders that the SpriteFrame uses to display.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.ScaleX">
            <summary>
            The X size of the object.  Measured as the distance from the center of the SpriteFrame 
            to its left and right edges in world coordinates.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.ScaleY">
            <summary>
            The Y size of the SpriteFrame.  Measured as the distance from the center of the SpriteFrame 
            to its top or bottom edges in world coordinates.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.ScaleXVelocity">
            <summary>
            The rate of change of the ScaleX property in units per second.  Default 0.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.ScaleYVelocity">
            <summary>
            The rate of change of the ScaleY property in units per second.  Default 0.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Visible">
            <summary>
            Whether the SpriteFrame is drawn.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.Texture">
            <summary>
            The texture to be displayed by the SpriteFrame.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.CursorSelectable">
            <summary>
            Whether the instance can be selected by the Cursor.
            </summary>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteFrame.CenterSprite">
            <summary>
            Gets the SpriteFrame's center Sprite.
            </summary>
            <remarks>
            This can be used to modify the SpriteFrame's appearance.
            </remarks>
        </member>
        <member name="T:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides">
            <summary>
            Defines sides which can be combined to speicfy borders on SpriteFrames.
            </summary>
            <remarks>
            The most common combinations are BorderSides.All, 
            BorderSides.Left | BorderSides.Right, and BorderSides.Top | BorderSides.Bottom.
            </remarks>
        </member>
        <member name="F:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides.None">
            <summary>
            No border sides - the SpriteFrame will appear similar to a regular Sprite.
            </summary>
        </member>
        <member name="F:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides.Top">
            <summary>
            Include a border on the top of the SpriteFrame.
            </summary>
        </member>
        <member name="F:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides.Bottom">
            <summary>
            Include a border on the bottom of the SpriteFrame.
            </summary>
        </member>
        <member name="F:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides.TopBottom">
            <summary>
            Include a border on the top and bottom of the SpriteFrame.  This is equivalent to 
            BorderSides.Top | BorderSides.Bottom
            </summary>
        </member>
        <member name="F:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides.Left">
            <summary>
            Include a border on the left of the SpriteFrame.
            </summary>
        </member>
        <member name="F:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides.Right">
            <summary>
            Include a border on the right of the SpriteFrame.
            </summary>
        </member>
        <member name="F:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides.LeftRight">
            <summary>
            Include a border on the left and right of the SpriteFrame.  This is equivalent to 
            BorderSides.Right | BorderSides.Left
            </summary>
        </member>
        <member name="F:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides.TopLeftRight">
            <summary>
            Include a border on the top, left, and right of the SpriteFrame.  This is 
            equivalent to BorderSides.Left | BorderSides.Right | borderSides.Top.
            </summary>
        </member>
        <member name="F:FlatRedBall.ManagedSpriteGroups.SpriteFrame.BorderSides.All">
            <summary>
            Include borders on all sides of the SpriteFrame.  This is equivalent to 
            BorderSides.Right | BorderSides.Left | BorderSides.Top | BorderSides.Bottom.
            </summary>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteGrid.#ctor">
            <summary>
            Creates a SpriteGrid using the TextManager's DefaultFont.  This is used because it's the only
            Texture2D stored internally in the engine.  To set the default Texture, use the overload which
            accepts a Texture2D.
            </summary>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteGrid.#ctor(FlatRedBall.Camera,FlatRedBall.ManagedSpriteGroups.SpriteGrid.Plane,FlatRedBall.Sprite)">
             <summary>
             Creates a new SpriteGrid.
             </summary>
             <remarks>
             The mBlueprintToUse argument Sprite reference is kept internally and used as the blue print.
             In other words, the SpriteGrid does not create a new Sprite internally, but uses the
             arguemnt Sprite.  When creating SpriteGrids in code, it is common to create a new Sprite
             only to serve as a SpriteGrid blue print, then remove it from the SpriteManager's memory. 
             If the Sprite passed as the mBlueprintToUse is modified after the SpriteGrid is created,
             this will change the SpriteGrid bluerint
            
             </remarks>
             <param name="camera">Reference to the camnera used to determine whether a point on the SpriteGrid is in the scren.</param>
             <param name="gridPlane">Whether the SpriteGrid should extend on the XY or XZ plane.</param>
             <param name="blueprintToUse">Reference to a Sprite representing the mBlueprint to be used for the grid.</param>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteGrid.Destroy">
            <summary>
            Destroys the SpriteGrid by removing all contained Sprites and clearing the TextureGrid.
            </summary>
            <remarks>
            <para>This method will only remove all contained Sprites from the SpriteManager and clear out the
            TextureGrid.  The SpriteGrid will still reference the the blueprint
            Sprite and have the same Bounds and GridSpacing.</para>
            <para>If the Manage method is called after this method is called, 
            the SpriteGrid will throw an out of bounds exception.  To refill the 
            SpriteGrid after this method has been called, it must first be populated.</para>
            </remarks>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteGrid.PaintSprite(System.Double,System.Double,System.Double,Microsoft.Xna.Framework.Graphics.Texture2D)">
            <summary>
            
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="textureToPaint"></param>
            <returns>The old FrbTexture at the argument position.</returns>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteGrid.RemoveSprites">
            <summary>
            Clears all Sprites referenced by the SpriteGrid.
            </summary>
            <remarks>
            This method will only remove all contained Sprites from the SpriteManager.  This method does
            not clear out the TextureGrid.
            
            <para>If the Manage method is called after this method is called, 
            the SpriteGrid will throw an out of bounds exception.  To refill the 
            SpriteGrid after this method has been called, it must first be populated.</para>
            </remarks>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteGrid.Shift(System.Single,System.Single,System.Single)">
            <summary>
            Moves the grid by the passed variables 
            </summary>
            <remarks>
            This method does not change the bounds of the SpriteGrid; only the actual Sprites in the grid.
            This method is used to change the seed position of the SpriteGrid.  The location of the
            painted Sprites also shifts according to the arguments.
            </remarks>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteGrid.CreateSpriteBasedOnProperties">
            <summary>
            This is called by CreateSpriteFromBlueprint - and should only be called from there.
            </summary>
            <returns>The newly created Sprite which was created obeying the SpriteGrid's properties.</returns>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteGrid.Layer">
            <summary>
            The layer on which the SpriteGrid should place newly-created Sprites.
            </summary>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteRig.Clone">
            <summary>
            Add clone method
            Author: Chakkapun Singto-ngam, Extend Interactive Co.,Ltd.
            </summary>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteRig.SetPose(System.Collections.Generic.List{FlatRedBall.ManagedSpriteGroups.JointState},System.Collections.Generic.List{FlatRedBall.ManagedSpriteGroups.BodySpriteState},System.Single,System.Boolean)">
            <summary>
            Sets the pose to the argument value over tweenLengthInSeconds time
            </summary>
            <remarks>
            This method sets the pose of the SpriteRig given a set of JointStates and BodySpriteStates.  If the
            pose is to be set immediately, then tweenLengthInSeconds should be 0.  If the pose should be transitioned
            to over a given amount of time, then tweenLengthInSeconds represents how long it should take to transition
            to the argument pose values.
            </remarks>
            <param name="jointStates">The joint states to transition to.</param>
            <param name="bodySpriteStates">The bodySpriteStates to transition to.</param>
            <param name="tweenLengthInSeconds">How much time to take to transition to these values.</param>
            <param name="useInstructions">Whether to use instructions or not.  Use instructions if you want the SpiteRig to stop after reaching
            its desired state.  Setting this to true allocates some memory, and this is unnecessary if you plan on setting a new pose chanin
            after this operation finishes.</param>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteRig.AnimateSelf">
            <summary>
            Performs Animation logic.  This is called by the Manage() method.
            </summary>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.SpriteRig.StopAllAnimation">
            <summary>
            Stops all velocities related to animation and removes all instructions used for animation.  Does not set the animate property to false.
            </summary>
            <remarks>
            This function stops the following:
            <para> - Joint relative velocity</para>
            <para> - Joint RotationZVelocity</para>
            <para> - BodySprite scale velocity</para>
            <para> - BodySprite relative velocity</para>
            This function is used to stop animation activity on joints which may be ignored
            in the current PoseChain.  Simply setting animate to false will not necessarily stop
            all activity as this only stops animation affected by the current PoseChain.
            </remarks>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteRig.Animate">
            <summary>
            Gets and sets the bool determining whether the SpriteRig should animate.
            </summary>
            <remarks>
            Insert remarks here. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            </remarks>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteRig.Root">
            <summary>
            The Sprite which is often used to move the SpriteRig.  The root should
            be the topParent of any Sprite in the SpriteRig unless it is attached to
            another Sprite which is not part of the SpriteRig.
            </summary>
            <remarks>
            The root does not belong to either the mJoints or bodySprites SpriteArray;
            however, when the SpriteRig is saved, the root is included in the bodySprite array.
            </remarks>
        </member>
        <member name="P:FlatRedBall.ManagedSpriteGroups.SpriteRig.AnimationSpeed">
            <summary>
            Sets how fast the SpriteRig animates.
            </summary>
            <remarks>
            Setting the animationSpeed to 0 sets the animate bool to 0.  Setting the animationSpeed to any value
            except 0 sets the animate bool to true.
            <seealso cref="P:FlatRedBall.ManagedSpriteGroups.SpriteRig.Animate"/>
            </remarks>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.TextureGrid`1.ChangeGrid(System.Single,System.Single)">
            <summary>
            Shifts the position of all textures in the TextureGrid.
            </summary>
            <param name="x">The distance along the x axis to shift the grid.</param>
            <param name="y">The distance along the y axis to shift the grid.</param>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.TextureGrid`1.ReduceGrid(System.Single,System.Single)">
            <summary>
            This "shrinks" the grid if its edges are the same as its baseTexture
            </summary>
            <remarks>
            To use the least amount of memory, TextureGrids only store non-baseTexture strips.
            If the ends of a horizontal strip are the baseTexture, then the strip should be contracted
            inward.  If an entire horizontal strip is the baseTexture, then it should be removed.
            
            Usually, tests should begin from a specific location, as it is usually called after the
            grid is painted.  This method will first check to see if the arguments are on the left or
            right side of a strip.  Then a loop will move inward as long as it continues to encounter
            the base texture.  Once it encounters a non-baseTexture, then it stops, and reduces the
            particular horizontal strip.
            
            If an entire strip is cleared and it is either the top or bottom strip, then it will
            be removed, and the strip above or below (depending on position) will be tested as well.
            If the strip is in the center (not the top or bottom), then it will be reduced, but cannot
            be removed.
            </remarks>
            <param name="yFloat">The y location in absolute coordinates to start the tests at.</param>
            <param name="xFloat">The x location in absolute coordinates to start the tests at.</param>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.TextureGrid`1.ReduceGridAtIndex(System.Int32,System.Int32)">
            <summary>
            This "shrinks" the grid if its edges are the same as its baseTexture
            </summary>
            <remarks>
            To use the least amount of memory, TextureGrids only store non-baseTexture strips.
            If the ends of a horizontal strip are the baseTexture, then the strip should be contracted
            inward.  If an entire horizontal strip is the baseTexture, then it should be removed.
            
            Usually, tests should begin from a specific location, as it is usually called after the
            grid is painted.  This method will first check to see if the arguments are on the left or
            right side of a strip.  Then a loop will move inward as long as it continues to encounter
            the base texture.  Once it encounters a non-baseTexture, then it stops, and reduces the
            particular horizontal strip.
            
            If an entire strip is cleared and it is either the top or bottom strip, then it will
            be removed, and the strip above or below (depending on position) will be tested as well.
            If the strip is in the center (not the top or bottom), then it will be reduced, but cannot
            be removed.
            </remarks>
            <param name="yOn">The y index start the tests at.</param>
            <param name="xOn">The x index to start the tests at.</param>
        </member>
        <member name="M:FlatRedBall.ManagedSpriteGroups.TextureGrid`1.TrimGrid">
            <summary>
            Checks the boundaries of the grid and removes any references to textures that match the base Texture2D.
            </summary>
            <remarks>
            This method is called automatically by the ReplaceTexture method so that the structure 
            stays as small as possible afterchanges have been made.  
            </remarks>
        </member>
        <member name="T:FlatRedBall.ManagedSpriteGroups.TextureLocation`1">
            <summary>
            Used to paint SpriteGrids or compare differences between two TextureGrids which can be used for undos.
            </summary>
            <typeparam name="T">The type contained in the TextureLocation.  Currently FlatRedBall uses
            Texture2D, FloatRectangle, and AnimationChain in SpriteGrids.</typeparam>
        </member>
        <member name="T:FlatRedBall.Math.Collision.CollisionEnumerations">
            <summary>
            A class storing enumerations for collisions.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Collision.HeightMap.#ctor(System.String,System.String)">
            <summary>
            Creates a height map from a texture
            </summary>
            <param name="textureName">The path to the texture</param>
            <param name="contentManager"></param>
        </member>
        <member name="M:FlatRedBall.Math.Collision.HeightMap.#ctor(System.String,System.Int32,System.Int32,Microsoft.Xna.Framework.Graphics.Model)">
            <summary>
            Creates a height map from a model (heightmap will be available next frame)
            </summary>
            <param name="contentManagerName"></param>
            <param name="width">The desired width of the heightmap (resolution)</param>
            <param name="height">The desired height of the heightmap (resolution)</param>
            <param name="model">The model to render for the heightmap</param>
        </member>
        <member name="M:FlatRedBall.Math.Collision.HeightMap.#ctor(System.String,System.Int32,System.Int32,FlatRedBall.Graphics.Model.PositionedModel)">
            <summary>
            Creates a height map from a model (heightmap will be available next frame)
            </summary>
            <param name="width">The desired width of the heightmap (resolution)</param>
            <param name="height">The desired height of the heightmap (resolution)</param>
            <param name="model">The model to render for the heightmap</param>
        </member>
        <member name="P:FlatRedBall.Math.Collision.HeightMap.IsInitialized">
            <summary>
            Whether or not this heightmap has finished initialization
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Collision.HeightMap.Item(System.Single,System.Single)">
            <summary>
            Gets a height value at a specified coordinate
            </summary>
            <param name="x">The x coordinate</param>
            <param name="y">The y coordinate</param>
            <returns>The z value</returns>
        </member>
        <member name="P:FlatRedBall.Math.Collision.HeightMap.RawData">
            <summary>
            Gets the raw data for this heightmap
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.AxisAlignedRectangle.CollideAgainst(FlatRedBall.Math.Geometry.Circle)">
            <summary>
            Returns whether this instance collides against the argument Circle.
            </summary>
            <param name="circle">The Circle to test collision against.</param>
            <returns>Whether collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.AxisAlignedRectangle.CollideAgainst(FlatRedBall.Math.Geometry.AxisAlignedRectangle)">
            <summary>
            Returns whether this instance collides against the argument AxisAlignedRectangle.
            </summary>
            <param name="rectangle">The AxisAlignedRectangle to test collision against.</param>
            <returns>Whether collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.AxisAlignedRectangle.CollideAgainst(FlatRedBall.Math.Geometry.Polygon)">
            <summary>
            Returns whether this instance collides against the argument Polygon.
            </summary>
            <param name="polygon">The Polygon to test collision against.</param>
            <returns>Whether collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.AxisAlignedRectangle.CollideAgainst(FlatRedBall.Math.Geometry.Line)">
            <summary>
            Returns whether this instance collides against the argument Line.
            </summary>
            <param name="line">The Line to test collision against.</param>
            <returns>Whether collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.AxisAlignedRectangle.CollideAgainst(FlatRedBall.Math.Geometry.Capsule2D)">
            <summary>
            Returns whether this instance collides against the argument Capsule2D.
            </summary>
            <param name="capsule">The Capsule2D to test collision against.</param>
            <returns>Whether collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.AxisAlignedRectangle.CollideAgainst(FlatRedBall.Math.Geometry.ShapeCollection)">
            <summary>
            Returns whether this instance collides against the argument ShapeCollection.
            </summary>
            <param name="shapeCollection">The ShapeCollection to test collision against.</param>
            <returns>Whether collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Circle.DistanceTo(FlatRedBall.Math.Geometry.Line)">
            <summary>
            Returns the distance from this to the argument Line.  If this and the Line
            are colliding, then the value will be 0 or negative.  The smallest the 
            return value can be is -this.Radius.
            </summary>
            <param name="line">The line to test distance from.</param>
            <returns>The distance from the circle to the argument line.  Will be 0 or
            negative if the two are colliding.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Circle.KeepThisInsideOf(FlatRedBall.Math.Geometry.AxisAlignedRectangle)">
            <summary>
            Adjusts the calling Circle's position (or its parent if attached) so that the circle is fully-contained
            in the argument AxisAlignedRectangle.
            </summary>
            <param name="otherAxisAlignedRectangle">The rectangle to keep the circle inside of.</param>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Circle.LastCollisionTangent">
            <summary>
            Returns the tangent (in other words the vector parallel with the surface) where the last collision occurred.
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.Geometry.FloatRectangle">
            <summary>
            A rectangle class using floats for its bounds.  
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.FloatRectangle.Default">
            <summary>
            A Rectangle with its top-left point at (0,0) with a width and height of 1.
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.Geometry.Frustum">
            <summary>
            A drawable, 3D volume defining the visible area of a camera.  This can be used to 
            display the visible area of a Camera. 
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.Geometry.Line">
            <summary>
            Represents a segment with defined endpoints which can be used to
            graphically display lines or to perform segment collision.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.Line.RelativePoint1">
            <summary>
            The first point used to define the line.  This point is relative to the Line's position and rotation.
            <remarks>
            If a line moves or rotates it will visibly change on screen and its collisions will be modified, but the 
            RelativePoint fields will not be modified.
            </remarks>
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.Line.RelativePoint2">
            <summary>
            The second point used to define the line.  This point is relative to the Line's position and rotation.
            </summary>
            <remarks>
            If a line moves or rotates it will visibly change on screen and its collisions will be modifed, but the
            RelativePoint fields will not be modified.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Line.#ctor">
            <summary>
            Instantiates a new Line.
            </summary>
            <remarks>
            Lines created through this method will not be visible or managed.  To add management, add
            the line to the ShapeManager through the ShapeManager's AddLine method.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Line.AsSegment">
            <summary>
            Returns a Segment which represents the line.
            </summary>
            <returns>The Segment representing the line.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Line.CollideAgainst(FlatRedBall.Math.Geometry.Circle)">
            <summary>
            Returns whether this instance collides with the argument Circle.
            </summary>
            <param name="circle">The Circle to test collision against.</param>
            <returns>Whether a collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Line.CollideAgainst(FlatRedBall.Math.Geometry.AxisAlignedRectangle)">
            <summary>
            Returns whether this instance collides with the argument AxisAlignedRectangle.
            </summary>
            <param name="rectangle">The AxisAlignedRectangle to test collision against.</param>
            <returns>Whether a collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Line.CollideAgainst(FlatRedBall.Math.Geometry.Line)">
            <summary>
            Returns whether this instance collides with the argument Line.
            </summary>
            <param name="line">The Line to test collision against.</param>
            <returns>Whether a collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Line.CollideAgainst(FlatRedBall.Math.Geometry.Polygon)">
            <summary>
            Returns whether this instance collides with the argument Polygon.
            </summary>
            <param name="polygon">The Polygon to test collision against.</param>
            <returns>Whether a collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Line.CollideAgainstMove(FlatRedBall.Math.Geometry.Circle,System.Single,System.Single)">
            <summary>
            Returns whether this instance collides with the argument Circle.  The two
            shapes are also repositioned so they do not collide after the method is called.
            </summary>
            <param name="circle">The Circle to test collision against.</param>
            <param name="thisMass">The mass of this instance.</param>
            <param name="otherMass">The mass of the other instance.</param>
            <returns>Whether a collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Line.ScaleBy(System.Single)">
            <summary>
            Scales the line by a specified amount
            </summary>
            <param name="scale">The scaling factor</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Line.SetFromAbsoluteEndpoints(Microsoft.Xna.Framework.Vector3,Microsoft.Xna.Framework.Vector3)">
            <summary>
            Sets the Line's Position to the average of the two given endpoints and
            it's RelativePoints to be the distance from the new Position to each of the given Vectors.
            </summary>
            <param name="endpoint1">The first endpoint for which to find the midpoint</param>
            <param name="endpoint2">The second endpoint for which to find the midpoint</param>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Line.LastCollisionPoint">
            <summary>
            Returns the absolute position of the last collision point.  This will not 
            necessarily return the intersection point of the line with the last collided
            shape.  It may return a point inside the shape.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Line.Visible">
            <summary>
            Gets or sets the visibility of this line segment
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Line.Color">
            <summary>
            Gets or sets the color of this line segment, when drawn
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.Polygon.mPoints">
            <summary>
            The points relative to the center of the Polygon.  These
            define the shape and size of the Polygon.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.Polygon.mCenterPoints">
            <summary>
            The midpoint Points used for collision.  These are updated in CollideAgainstMovePreview.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Polygon.CreateEquilateral(System.Int32,System.Single,System.Single)">
            <summary>
            Returns an equilateral shape of numberOfSides sides.
            </summary>
            <remarks>
            The newly-created Polygon is invisible and is not part of the ShapeManager.
            </remarks>
            <param name="numberOfSides">The number of sides of the Polygon.  Must be at least 3.</param>
            <param name="angleOfFirstPoint">The angle relative to the polygon of the first point.</param>
            <returns>The newly-created Polygon.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Polygon.ArePointsAdjacent(System.Int32,System.Int32)">
            <summary>
            Returns whether two indexes are adjacent.  This considers wrapping and duplicate
            points for closed polygons.
            </summary>
            <param name="firstIndex">The first index.</param>
            <param name="secondIndex">The second index</param>
            <returns>Whether the two points are adjacent.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Polygon.GetPointsInside(FlatRedBall.Math.Geometry.Polygon)">
            <summary>
            Returns a Vector3 array storing all of the points belonging to this instance that are inside the argument
            Polygon.
            </summary>
            <param name="polygon"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Polygon.GetPoint(System.Int32)">
            <summary>
            Returns the relative position of the point at the argument index.
            </summary>
            <param name="index">The index of the point to get.</param>
            <returns>The point at the argument index.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Polygon.Insert(System.Int32,FlatRedBall.Math.Geometry.Point)">
            <summary>
            Inserts a new point at the given index.  The point will be inserted at object space.
            </summary>
            <remarks>
            This method recreates the internal point list so it is expensive to call repeatedly.
            </remarks>
            <param name="index">Index where the point should be inserted.</param>
            <param name="newPoint">The (object space) point to insert.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Polygon.IsPointInside(Microsoft.Xna.Framework.Vector3@)">
            <summary>
            Returns whether the argument vector is in this polygon.
            </summary>
            <param name="vector">The position of the point</param>
            <returns>Whether the point is inside.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Polygon.ScaleBy(System.Double,System.Double)">
            <summary>
            Scales all points in object space.
            </summary>
            <param name="scaleX">Amount to scale by on the object's X axis.</param>
            <param name="scaleY">Amount to scale by on the object's Y axis.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Polygon.SetPoint(System.Int32,System.Double,System.Double)">
            <summary>
            Changes the position of the point at argument index, recalculates the bounding radius, and raises the
            OnPointsChanged event.
            </summary>
            <param name="index">The index of the point to change.</param>
            <param name="xRelativeToPolygonCenter">The new X position of the point in polygon object space.</param>
            <param name="yRelativeToPolygonCenter">The new Y position of the point in polygon object space.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Polygon.VectorFrom(FlatRedBall.Math.Geometry.Point3D)">
            <summary>
            Returns a vector from the argument vector to the closest point on this.
            </summary>
            <param name="vector">The point to start from.</param>
            <returns>A vector representing the distance from the argument vector to this.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Polygon.VectorFrom(System.Double,System.Double)">
            <summary>
            Returns a vector from the argument point to the closest point on this Polygon.
            </summary>
            <param name="x">The absolute X position of the point to begin the vector at.</param>
            <param name="y">The absolute Y position of the point to begin the vector at.</param>
            <returns>The shortest vector from the argument x,y to the Polygon.</returns>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Polygon.Points">
            <summary>
            The Position-relative points of the Polygon.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Polygon.LastMoveCollisionReposition">
            <summary>
            Reports the vector along which this polygon was moved along during the last
            CollideAgainstMove method.
            </summary>
            <remarks>
            This value is reset every time CollideAgainstMove is called whether there is a
            successful collision or not.  If there is no collision, this value is set to 
            Vector3.Zero.  If reactions to collisions such as physics are being implemented
            using this value, then the behavior should be tested and applied after every
            call to CollideAgainstMove.
            <para>
            This value is set on both the instance calling the CollideAgainstMove method
            as well as the argument.
            </para>
            </remarks>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Polygon.LastCollisionPoint">
            <summary>
            The absolute position where the last collision was detected in a CollieAgainst method.
            </summary>
        </member>
        <member name="E:FlatRedBall.Math.Geometry.Polygon.PointsChanged">
            <summary>
            Event raised when the Points property reference is reset or when the
            SetPoint method is called.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.Segment.Point1">
            <summary>
            The first point of the segment.  
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.Segment.Point2">
            <summary>
            The second point of the segment.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Segment.#ctor(FlatRedBall.Math.Geometry.Point,FlatRedBall.Math.Geometry.Point)">
            <summary>
            Creates a new Segment with the argument points as the endpoints.
            </summary>
            <param name="p1">The first Point.</param>
            <param name="p2">The second Point.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Segment.DistanceTo(FlatRedBall.Math.Geometry.Point,Microsoft.Xna.Framework.Vector3@)">
            <summary>
            Returns the distance to the argument point as well as
            the connectin Vector3 from the Point to this.
            </summary>
            <param name="point">The point to get the distance to.</param>
            <param name="connectingVector">The connecting vector from the argument Pointn to this.</param>
            <returns>The distance between this and the argument Point.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Segment.GetLength">
            <summary>
            Returns the length of the segment.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Segment.IsClosestPointOnEndpoint(FlatRedBall.Math.Geometry.Point@)">
            <summary>
            Determines whether the closest point on the segment lies on one of the endpoints.
            </summary>
            <param name="point">The point to test to.</param>
            <returns>Whether the closest point on this segment to the argument point lies on the endpoints.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Segment.Intersects(FlatRedBall.Math.Geometry.Segment)">
            <summary>
            Determines whether this segment intersects the argument segment.
            </summary>
            <param name="s2">The segment to test for intersection.</param>
            <returns>Whether the segments intersect (whether they cross).</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Segment.IntersectionPoint(FlatRedBall.Math.Geometry.Segment@,FlatRedBall.Math.Geometry.Point@)">
            <summary>
            Returns the point where this segment intersects the argument segment.
            </summary>
            <param name="s2">The segment to test for intersection.</param>
            <returns>The point where this segment intersects the
            argument segment.  If the two segments do not touch, the point
            will have both values be double.NAN.
            </returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Segment.MoveBy(System.Single,System.Single)">
            <summary>
            Shifts the segment by moving both points by the argument x,y values.
            </summary>
            <param name="x">The number of units to shift the segment by on the x axis.</param>
            <param name="y">The number of units to shift the segment by on the y axis.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Segment.Normalize">
            <summary>
            Sets the length of the segment to 1 unit by moving the 2nd point.
            </summary>
            <remarks>
            If the segment has 0 length (the endpoints are equal), the method
            does not change the segment; length will remain 0.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Segment.Slope">
            <summary>
            Returns the geometric slope of the segment.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Segment.YIntercept">
            <summary>
            Returns the y intercept of the slope.
            </summary>
            <remarks>
            This method treats the segment as a line, so this will return a value even
            though the segment may not cross the x=0 line.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeCollection.MakeTwoWay">
            <summary>
            Makes all contained lists (such as for AxisAlignedRectangles and Circles) two-way.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeCollection.MakeOneWay">
            <summary>
            Makes all contained lists (such as for AxisAlignedRectangles and Circles) one-way.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeCollection.Shift(Microsoft.Xna.Framework.Vector3)">
            <summary>
            Moves all contained objects by the argument shiftVector;
            </summary>
            <param name="shiftVector">The amount to shift by.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeCollection.IsPointInside(System.Single,System.Single)">
            <summary>
            Checks if the designated 2D point is in the 2D shapes of the shape collection
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.Geometry.ShapeManager">
            <summary>
            Responsible for creating, destroying, and managing shapes (Circle, AxisAlignedRectangle,
            Polygon, Line).
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.ShapeManager.NumberOfVerticesForCircles">
            <summary>
            The number of vertices used when drawing a Circle.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.ShapeManager.NumberOfVerticesForCapsule2Ds">
            <summary>
            The number of vertices used when drawing Capsule2Ds.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.ShapeManager.NumberOfVerticesForCubes">
            <summary>
            The number of vertices used when drawing an AxisAlignedCube.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.ShapeManager.NumberOfVerticesForSpheres">
            <summary>
            The number of vertices used when drawing a Sphere.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Geometry.ShapeManager.mAutomaticallyUpdated">
            <summary>
            List of all managed objects.  This list contains all types of shapes
            (Circles, Polygons, etc).  This list is only used for the TimedActivity;
            not for drawing.  Therefore, shapes can exist both in this list as well as
            in the type-specific lists (mCircles, mPolygons, etc).
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddAxisAlignedRectangle">
            <summary>
            Creates and returns a new visible, managed AxisAlignedRectangle.
            </summary>
            <remarks>
            The new AxisAlignedRectangle will be visible, white, and have a ScaleX and ScaleY of 1.
            </remarks>
            <returns>The new AxisAlignedRectangle.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddAxisAlignedRectangle(FlatRedBall.Math.Geometry.AxisAlignedRectangle)">
            <summary>
            Adds an already-created AxisAlignedRectangle to the ShapeManager.
            The newly-added AxisAlignedRectangle will be made visible by this method.
            </summary>
            <param name="axisAlignedRectangle">The AxisAlignedRectangle to add.</param>
            <returns>The same AxisAlignedRectangle as was passed to the method.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddAxisAlignedRectangleList(FlatRedBall.Math.PositionedObjectList{FlatRedBall.Math.Geometry.AxisAlignedRectangle})">
            <summary>
            Adds all AxisAlignedRectangles contained in the argument axisAlignedRectangleList to the ShapeManager.
            </summary>
            <param name="axisAlignedRectangleList">The list containing the AxisAlignedRectangles.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddCapsule2D">
            <summary>
            Adds and returns a new visible, managed Capsule2D.
            </summary>
            <remarks>
            The new Capsule2D will be visible, white, and have an EndpointRadius of 1.
            </remarks>
            <returns>The new Capsule2D.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddCapsule2D(FlatRedBall.Math.Geometry.Capsule2D)">
            <summary>
            Adds an already-created Capsule2D to the ShapeManager.
            The newly-added Capsule2D will be made visible by this method.
            </summary>
            <param name="capsule2D">The Capsule2D to add.</param>
            <returns>The instance that was just added.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddCircle">
            <summary>
            Adds and returns a new visible, managed Circle.
            </summary>
            <remarks>
            The new Circle will be visible, white, and have a Radius of 1.
            </remarks>
            <returns>The new Circle.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddCircle(FlatRedBall.Math.Geometry.Circle)">
            <summary>
            Adds an already-created Circle to the ShapeManager.
            The newly-added Circle will be made visible by this method.
            </summary>
            <param name="circle">The Circle to add.</param>
            <returns>The instance that was just added.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddCircleList(FlatRedBall.Math.PositionedObjectList{FlatRedBall.Math.Geometry.Circle})">
            <summary>
            Adds all Circles contained in the argument circleList to the ShapeManager.
            </summary>
            <param name="circleList">The list containing the Circles.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddSphere">
            <summary>
            Adds and returns a new visible, managed Sphere.
            </summary>
            <remarks>
            The new Sphere will be visible, white, and have a Radius of 1.
            </remarks>
            <returns>The new Sphere.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddSphere(FlatRedBall.Math.Geometry.Sphere)">
            <summary>
            Adds an already-created Sphere to the ShapeManager.
            The newly-added Sphere will be made visible by this method.
            </summary>
            <param name="sphere">The Sphere to add.</param>
            <returns>The instance that was just added.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddAxisAlignedCube">
            <summary>
            Adds a new visible, managed AxisAlignedCube.
            </summary>
            <returns>The new AxisAlignedCube</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddAxisAlignedCube(FlatRedBall.Math.Geometry.AxisAlignedCube)">
            <summary>
            Adds an already-created AxisAlignedCube to the ShapeManager.
            The newly-added AxisAlignedCube will be made visible by this method.
            </summary>
            <param name="axisAlignedCube">The AxisAlignedCube to add.</param>
            <returns>The instance that was just added.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddPolygon">
            <summary>
            Adds a new 0-point Polygon to the ShapeManager.
            The newly-added Polygon must have its Points property
            set to be visible and functional.
            </summary>
            <returns>The new Polygon.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddPolygon(FlatRedBall.Math.Geometry.Polygon)">
            <summary>
            Adds an already-created Polygon to the ShapeManager.
            The newly-added Polygon will be made visible by this method 
            if it has any points.
            </summary>
            <param name="polygon">The Polygon to add.</param>
            <returns>The instance that was just added.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddPolygonList``1(System.Collections.Generic.IList{``0})">
            <summary>
            Adds all Polygons contained in the argument polygonList to the ShapeManager.
            </summary>
            <param name="polygonList">The list containing the Polygons.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddLine">
            <summary>
            Adds and returns a new visible, managed Line.
            </summary>
            <remarks>
            The new Line will be visible, white, horizontal,
            and have a length of 2 units.
            </remarks>
            <returns>The new Line.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.AddLine(FlatRedBall.Math.Geometry.Line)">
            <summary>
            Adds an already-created Line to the ShapeManager.
            The newly-added Line will be made visible by this method.
            </summary>
            <param name="line">The Line to add.</param>
            <returns>The instance that was just added.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.BringToFront(FlatRedBall.Math.Geometry.AxisAlignedRectangle)">
            <summary>
            Brings the passed in Shape to the front so it's drawn on top.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.BringToFront(FlatRedBall.Math.Geometry.Capsule2D)">
            <summary>
            Brings the passed in Shape to the front so it's drawn on top.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.BringToFront(FlatRedBall.Math.Geometry.Circle)">
            <summary>
            Brings the passed in Shape to the front so it's drawn on top.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.BringToFront(FlatRedBall.Math.Geometry.Sphere)">
            <summary>
            Brings the passed in Shape to the front so it's drawn on top.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.BringToFront(FlatRedBall.Math.Geometry.AxisAlignedCube)">
            <summary>
            Brings the passed in Shape to the front so it's drawn on top.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.BringToFront(FlatRedBall.Math.Geometry.Polygon)">
            <summary>
            Brings the passed in Shape to the front so it's drawn on top.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.BringToFront(FlatRedBall.Math.Geometry.Line)">
            <summary>
            Brings the passed in Shape to the front so it's drawn on top.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.Remove(FlatRedBall.Math.Geometry.AxisAlignedRectangle)">
            <summary>
            Removes the argument AxisAlignedRectangle from the ShapeManager and any 2-way PositionedObjectLists it belongs to.
            </summary>
            <param name="axisAlignedRectangleToRemove">The AxisAlignedRectangle to remove.  Cannot be null.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.Remove(FlatRedBall.Math.Geometry.AxisAlignedCube)">
            <summary>
            Removes the argument AxisAlignedCube from the ShapeManager and any 2-way PositionedObjectLists it belongs to.
            </summary>
            <param name="axisAlignedCubeToRemove">The AxisAlignedCube to remove.  Cannot be null.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.Remove(FlatRedBall.Math.Geometry.Capsule2D)">
            <summary>
            Removes the argument Capsule2D from the ShapeManager and any 2-way
            PositionedObjectLists it belongs to.
            </summary>
            <param name="capsule2DToRemove">The Capsule2D to remove.  Should not be null.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.Remove(FlatRedBall.Math.Geometry.Circle)">
            <summary>
            Removes the argument Circle from the ShapeManager and any 2-way PositionedObjectLists it belongs to.
            </summary>
            <param name="circleToRemove">The Circle to remove.  Should not be null.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.Remove(FlatRedBall.Math.Geometry.Sphere)">
            <summary>
            Removes the argument Sphere from the ShapeManager and any 2-way PositionedObjectLists it belongs to.
            </summary>
            <param name="sphereToRemove">The Sphere to remove.  Should not be null.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.Remove(FlatRedBall.Math.Geometry.Polygon)">
            <summary>
            Removes the argument Polygon from the ShapeManager and any 2-way PositionedObjectLists it belongs to.
            </summary>
            <param name="polygonToRemove">The Polygon to remove.  Should not be null.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.Remove(FlatRedBall.Math.Geometry.Line)">
            <summary>
            Removes the argument Line from the ShapeManager and any 2-way PositionedObjectLists it belongs to.
            </summary>
            <param name="lineToRemove">The Line to remove.  Should not be null.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.RemoveOneWay(FlatRedBall.Math.Geometry.Polygon)">
            <summary>
            Removes the argument Polygon from the ShapeManager.
            </summary>
            <param name="polygonToRemove">The Polygon to remove.  Should not be null.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.RemoveOneWay(FlatRedBall.Math.Geometry.AxisAlignedRectangle)">
            <summary>
            Removes the argument AxisAlignedRectangle from the ShapeManager.
            </summary>
            <param name="axisAlignedRectangleToRemove">The AxisAlignedRectangle to remove.  Cannot be null.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.Remove``1(System.Collections.Generic.IList{``0})">
            <summary>
            Removes all Polygons held in the argument listToRemove from the Shapemanager and any 2-way PositionedObjectLists they belong to.
            </summary>
            <typeparam name="T">The type of object which must be a Polygon.</typeparam>
            <param name="listToRemove">The list of objects to remove.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeManager.ToString">
            <summary>
            Returns information about the ShapeManager.
            </summary>
            <returns>A string containing information about the ShapeManager.</returns>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.ShapeManager.UseZTestingWhenDrawing">
            <summary>
            Controls whether the ZBuffer is tested against when drawing shapes.
            Set to false to have Shapes drawn on top.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.ShapeManager.VisibleCircles">
            <summary>
            A read-only list of visible Circles contained in the ShapeManager.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.ShapeManager.VisibleRectangles">
            <summary>
            A read-only list of visible AxisAlignedRectangles contained in the ShapeManager.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.ShapeManager.VisiblePolygons">
            <summary>
            A read-only list of visible Polygons contained in the ShapeManager.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.ShapeManager.VisibleLines">
            <summary>
            A read-only list of visible Lines contained in the ShapeManager.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.ShapeManager.VisibleSpheres">
            <summary>
            A read-only list of visible Spheres contained in the ShapeManager.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.ShapeManager.VisibleAxisAlignedCubes">
            <summary>
            A read-only list of visible AxisAlignedCubes contained in the ShapeManager.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.ShapeManager.VisibleCapsule2Ds">
            <summary>
            A read-only list of visible Capsules contained in the ShapeManager.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.ShapeManager.AutomaticallyUpdatedShapes">
            <summary>
            A read-only list of shapes updated by the ShapeManager.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.ShapeMerger.Merge(FlatRedBall.Math.Geometry.Polygon,FlatRedBall.Math.Geometry.Polygon)">
            <summary>
            Modifies the first Polygon so that it is the result of both merged polygons.  
            This method assumes that the polygons collide and that both are drawn
            clockwise.
            </summary>
            <param name="polygon">The first polygon.  This one will be modified.</param>
            <param name="otherPolygon">The second polygon which will not be modified.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.Pause(FlatRedBall.Instructions.InstructionList)">
            <summary>
            Pauses this instance and stores the unpause instructions in the argument InstructionList
            </summary>
            <param name="instructions">The list to fill</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.TimedActivity(System.Single,System.Double,System.Single)">
            <summary>
            Applies the every-frame activity for moving the object.  This is automatically called every frame by the engine if this object is part of the ShapeManager.
            </summary>
            <param name="secondDifference">The number of seconds that have passed since last frame</param>
            <param name="secondDifferenceSquaredDividedByTwo">SecondDifference * secondDifference / 2 - used for integrating acceleration.</param>
            <param name="lastSecondDifference">How much time passed last frame.</param>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.AsBoundingSphere">
            <summary>
            Constructs a BoundingSphere instance form this.
            </summary>
            <returns>The created instance</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.CollideAgainst(FlatRedBall.Math.Geometry.Sphere)">
            <summary>
            Returns whether this instance overlaps the argument Sphere.
            </summary>
            <param name="sphere">The other Sphere to test against.</param>
            <returns>Whether collision has occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.CollideAgainstMove(FlatRedBall.Math.Geometry.Sphere,System.Single,System.Single)">
            <summary>
            Collision method that returns whether collision has occurred and repositions this and the
            argument Sphere to prevent overlap.
            </summary>
            <param name="sphere">The other Sphere to collide against.</param>
            <param name="thisMass">The mass of the calling Sphere.  This value is used relative to "otherMass".  Both cannot be 0.</param>
            <param name="otherMass">The mass of the argument Sphere.  This value is used relative to "thisMass".  Both cannot be 0.</param>
            <returns>Whether the calling Sphere and the argument Sphere are touching.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.CollideAgainst(FlatRedBall.Math.Geometry.AxisAlignedCube)">
            <summary>
            Returns whether this instance overlaps the argument AxisAlignedCube
            </summary>
            <param name="cube">The instance AxisAlignedCube to test against.</param>
            <returns>Whether collision has occurred</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.CollideAgainstMove(FlatRedBall.Math.Geometry.AxisAlignedCube,System.Single,System.Single)">
            <summary>
            Returns whether this instance overlaps the argument cube, and separates the two instances according to their relative masses.
            </summary>
            <param name="cube">The cube to perform collision against.</param>
            <param name="thisMass">The mass of this instance.</param>
            <param name="otherMass">The mass of the cube.</param>
            <returns>Whether the objects were overlapping before the reposition.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.CollideAgainstBounce(FlatRedBall.Math.Geometry.AxisAlignedCube,System.Single,System.Single,System.Single)">
            <summary>
            Performs a bounce collision (a collision which modifies velocity and acceleration), and separates the objects if so.
            </summary>
            <param name="cube">The cube to perform collision against.</param>
            <param name="thisMass">The mass of this instance.</param>
            <param name="otherMass">Th e mass of the argument cube.</param>
            <param name="elasticity">The ratio of velocity to preserve.</param>
            <returns>Whether a collision occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.CollideAgainstBounce(FlatRedBall.Math.Geometry.Sphere,System.Single,System.Single,System.Single)">
            <summary>
            Performs a bounce collision (a collision which modifies velocity and acceleration), and separates the objects if so.
            </summary>
            <param name="sphere">The Sphere to perform collision against.</param>
            <param name="thisMass">The mass of this instance.</param>
            <param name="otherMass">Th e mass of the argument cube.</param>
            <param name="elasticity">The ratio of velocity to preserve.</param>
            <returns>Whether a collision occurred.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.IsPointInside(Microsoft.Xna.Framework.Vector3@)">
            <summary>
            Returns whether the argument point is inside this instance.
            </summary>
            <param name="point">The point in world coordinates.</param>
            <returns>Whether the point is inside this.</returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.IsMouseOver(FlatRedBall.Gui.Cursor)">
            <summary>
            Returns whether the argument cursor is over this instance.
            </summary>
            <param name="cursor">The cursor to check.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Math.Geometry.Sphere.IsMouseOver(FlatRedBall.Gui.Cursor,FlatRedBall.Graphics.Layer)">
            <summary>
            Returns whether the argument cursor is over this instance considering Layer coordinates.
            </summary>
            <param name="cursor">The cursor to check.</param>
            <param name="layer">The layer that this instance sits on.</param>
            <returns>Whether the mouse is over this.</returns>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Sphere.Color">
            <summary>
            The Sphere's Color to use when being rendered.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Sphere.RadiusVelocity">
            <summary>
            The rate at which the velocity is increasing - this is 0 by default.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.Geometry.Sphere.Visible">
            <summary>
            Whether this instance is visible.  Setting this to true will add this instance to the ShapeManager's drawn list.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.MathFunctions.AngleToAngle(System.Single,System.Single)">
            <summary>
            Determines the shortest absolute difference between two angles.
            </summary>
            <remarks>
            This method will never return a value with absolute value greater than PI.  It will return 
            either a positive or negative value, keeping all values between positive and negative PI.
            </remarks>
            <param name="angle1">Starting angle in radians.</param>
            <param name="angle2">Ending angle in radians.</param>
            <returns>The number of radians between the two angles.</returns>
        </member>
        <member name="M:FlatRedBall.Math.MathFunctions.ExtractRotationValuesFromMatrix(Microsoft.Xna.Framework.Matrix,System.Single@,System.Single@,System.Single@)">
            <summary>
            Extracts the RotationX, RotationY, and RotationZ values out of a 
            </summary>
            <param name="matrixToExtractFrom">The matrix to get the rotation values out of.</param>
            <param name="rotationX">The RotationX of the Matrix.</param>
            <param name="rotationY">The RotationY of the Matrix.</param>
            <param name="rotationZ">The RotationZ of the Matrix.</param>
        </member>
        <member name="M:FlatRedBall.Math.MathFunctions.FrameToFrame(FlatRedBall.Graphics.Animation.AnimationChain,System.Int32,System.Int32)">
            <summary>
            Determines the shortest absolute difference between two frames.
            </summary>
            <remarks>
            This method will consider moving forward and backward, as well as cycling from the end
            to the beginning of an AnimationChain.
            </remarks>
            <param name="ac">The animationChain to use when determining the distance.</param>
            <param name="frame1">The first frame.</param>
            <param name="frame2">the second frame.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Math.MathFunctions.GetPointOnUnitSphere(System.Random,System.Single@,System.Single@,System.Single@)">
            <summary>
            Returns a random point on the surface of a unit sphere.
            </summary>
            <param name="random">Reference to a Random instance.</param>
            <param name="xPos">The resulting X value.</param>
            <param name="yPos">The resulting Y value.</param>
            <param name="zPos">The resulting Z value.</param>
        </member>
        <member name="M:FlatRedBall.Math.MathFunctions.RegulateAngle(System.Single@)">
            <summary>
            Keeps an angle between 0 and 2*PI.
            </summary>
            <param name="angleToRegulate">The angle to regulate.</param>
        </member>
        <member name="M:FlatRedBall.Math.MathFunctions.RotatePointAroundPoint(System.Single,System.Single,System.Single@,System.Single@,System.Single)">
            <summary>
            Rotates a point around another point by a given number of radians.
            </summary>
            <param name="xBase">X position to rotate around.</param>
            <param name="yBase">Y position to rotate around.</param>
            <param name="xToRotate">X position to rotate (changes).</param>
            <param name="yToRotate">Y position to rotate (changes).</param>
            <param name="angleToChangeBy">Radians to rotate by.</param>
        </member>
        <member name="M:FlatRedBall.Math.MathFunctions.RotatePointAroundPoint(FlatRedBall.Math.Geometry.Point,FlatRedBall.Math.Geometry.Point@,System.Single)">
            <summary>
            Rotates a Point around another Point by a given number of radians.
            </summary>
            <param name="basePoint">Point to rotate around.</param>
            <param name="pointToRotate">Point to rotate (changes position).</param>
            <param name="angleToChangeBy">Radians to rotate by.</param>
        </member>
        <member name="M:FlatRedBall.Math.MathFunctions.NormalizeAngle(System.Single)">
            <summary>
            Wraps an angle from 0 to TwoPi
            </summary>
            <param name="angle">The angle to wrap</param>
            <returns>The new angle</returns>
        </member>
        <member name="T:FlatRedBall.Math.RollingAverage">
            <summary>
            A class which can be used to store and calculate rolling averages for regular numbers and radians.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.RollingAverage.#ctor(System.Int32)">
            <summary>
            Creates a new RolllingAverage with capacity equalling the argument capacity value.
            </summary>
            <param name="capacity">The maximum number of values that the RollingAverage can store.</param>
        </member>
        <member name="M:FlatRedBall.Math.RollingAverage.AddValue(System.Single)">
            <summary>
            Adds a value to the RollingAverage.  The oldest value is discarded if the Capacity has been reached. 
            </summary>
            <param name="value">The value to add.</param>
        </member>
        <member name="P:FlatRedBall.Math.RollingAverage.Average">
            <summary>
            Gets the rolling average using the values currently stored.
            </summary>
            <remarks>
            The rolling average is calculated using the Capacity number of
            values.  If AddValue has not been called enough times to fill the
            Capacity, then the number of values stored are used.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Math.RollingAverage.Capacity">
            <summary>
            Gets the number of values that are used when calculating a rolling average.
            </summary>
        </member>
        <member name="P:FlatRedBall.Math.RollingAverage.IsRadian">
            <summary>
            Gets and sets whether the average value is calculated as radians.
            </summary>
            <remarks>
            This is important for radian values because rotation values reported
            by FlatRedBall loop every 2*PI
            </remarks>
        </member>
        <member name="T:FlatRedBall.Math.Splines.SplineList">
            <summary>
            A List of Splines.  This inherits from a generic List of Splines, but provides
            extra functionality.  This is the runtime type for the .splx format.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Splines.SplineList.#ctor">
            <summary>
            Instantiates an empty SplineList
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Splines.SplineList.#ctor(System.Int32)">
            <summary>
            Instantiates a SplineList and sets its capacity.
            </summary>
            <param name="capacity"></param>
        </member>
        <member name="M:FlatRedBall.Math.Splines.SplineList.#ctor(System.Collections.Generic.IEnumerable{FlatRedBall.Math.Splines.Spline})">
            <summary>
            Instantiates a SplineList and populates it with the Splines contained in the argument IEnumerable.
            </summary>
            <param name="collection">The Splines to add to the newly-created SplineList.</param>
        </member>
        <member name="M:FlatRedBall.Math.Splines.SplineList.FindByName(System.String)">
            <summary>
            Searches for and returns the first Spline with the name matching the argument, or
            null if no matches are found.
            </summary>
            <param name="name">The name to search for.</param>
            <returns>The contained Spline with the matching name, or null.</returns>
        </member>
        <member name="P:FlatRedBall.Math.Splines.SplineList.Name">
            <summary>
            The name of the SplineList.  Can be used to provide debug
            and identification information.
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.Splines.SplinePoint">
            <summary>
            A point in a Spline storing position, velocity, acceleration, and time information.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Splines.SplinePoint.Position">
            <summary>
            The position of the SplinePoint in absolute world coordinates.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Splines.SplinePoint.Velocity">
            <summary>
            The velocity of an object as it passes through this SplinePoint when moving along a Spline.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Splines.SplinePoint.Acceleration">
            <summary>
            The acceleration set when passing through this SplinePoint.  This property is usually
            automatically set by the containing Spline.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Splines.SplinePoint.Time">
            <summary>
            The time relative to the start of the Spline when an object moving through the Spline
            will pass through this point.
            </summary>
        </member>
        <member name="F:FlatRedBall.Math.Splines.SplinePoint.UseCustomVelocityValue">
            <summary>
            Controls whether the Velocity value is unchanged by calling
            CalculateVelocities on the Spline.  By default this is false,
            which means velocity on this SplinePoint will be set according
            to the position of the neighboring SplinePoints.  If this value
            is true, then the velocity on this will not be changed by Spline.CalculateVelocities.
            </summary>
        </member>
        <member name="T:FlatRedBall.Math.Statistics.LinearRegression">
            <summary>
            A class which can be used to calculate a best-fit line given a set of points.
            </summary>
        </member>
        <member name="M:FlatRedBall.Math.Statistics.RandomExtensions.NextFloat(System.Random,System.Single)">
            <summary>
            Returns a float value between 0 and the argument maxValue;
            </summary>
            <param name="random">The random instance to use.</param>
            <param name="maxValue">The max value to return.</param>
            <returns>A value between 0 and the max value.</returns>
        </member>
        <member name="T:FlatRedBall.Network.NetSprite">
            <summary>
            Summary description for NetSprite.
            </summary>
        </member>
        <member name="T:FlatRedBall.Network.NetworkManager">
            <summary>
            [Undocumented]
            </summary>
        </member>
        <member name="P:FlatRedBall.Network.NetworkManager.AdditionalLag">
            <summary>
            The amount of time in seconds that the NetworkManager will hold information before sending it.
            This is used to help simulate lag for debugging.
            </summary>
        </member>
        <member name="T:FlatRedBall.Resources_Xna_4.x86.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:FlatRedBall.Resources_Xna_4.x86.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:FlatRedBall.Resources_Xna_4.x86.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:FlatRedBall.Resources_Xna_4.x86.Resources.defaultFont">
             <summary>
               Looks up a localized string similar to info face=&quot;Arial&quot; size=16 bold=0 italic=0 charset=&quot;&quot; unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
            common lineHeight=16 base=13 scaleW=256 scaleH=256 pages=1 packed=0
            page id=0 file=&quot;defaultFont_00.tga&quot;
            chars count=319
            char id=32   x=0     y=0     width=1     height=0     xoffset=0     yoffset=16    xadvance=4     page=0  chnl=0 
            char id=33   x=227   y=74    width=1     height=10    xoffset=1     yoffset=3     xadvance=3     page=0  chnl=0 
            char id=34   x=54    y=97    width=3     h [rest of string was truncated]&quot;;.
             </summary>
        </member>
        <member name="M:FlatRedBall.Screens.Screen.MoveToScreen(System.String)">
            <summary>Tells the screen that we are done and wish to move to the
            supplied screen</summary>
            <param>Fully Qualified Type of the screen to move to</param>
        </member>
        <member name="M:FlatRedBall.Screens.Screen.MoveToState(System.Int32)">
            <param name="state">This should be a valid enum value of the concrete screen type.</param>
        </member>
        <member name="M:FlatRedBall.Screens.Screen.HandleBackNavigation">
            <summary>Default implementation tells the screen manager to finish this screen's activity and navigate
            to the previous screen on the backstack.</summary>
            <remarks>Override this method if you want to have custom behavior when the back button is pressed.</remarks>
        </member>
        <member name="P:FlatRedBall.Screens.Screen.AccumulatedPauseTime">
            <summary>
            Returns how much time the Screen has spent paused
            </summary>
        </member>
        <member name="P:FlatRedBall.Screens.Screen.IsActivityFinished">
            <summary>
            Gets and sets whether the activity is finished for a particular screen.
            </summary>
            <remarks>
            If activity is finished, then the ScreenManager or parent
            screen (if the screen is a popup) knows to destroy the screen
            and loads the NextScreen class.</remarks>
        </member>
        <member name="P:FlatRedBall.Screens.Screen.NextScreen">
            <summary>
            The fully qualified path of the Screen-inheriting class that this screen is 
            to link to.
            </summary>
            <remarks>
            This property is read by the ScreenManager when IsActivityFinished is
            set to true.  Therefore, this must always be set to some value before
            or in the same frame as when IsActivityFinished is set to true.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Screens.ScreenManager.Activity">
            <summary>
            Calls activity on the current screen and checks to see if screen
            activity is finished.  If activity is finished, the current Screen's
            NextScreen is loaded.
            </summary>
        </member>
        <member name="M:FlatRedBall.Screens.ScreenManager.Start(System.Type)">
            <summary>
            Loads a screen.  Should only be called once during initialization.
            </summary>
            <param name="screenToStartWith">Qualified name of the class to load.</param>
        </member>
        <member name="M:FlatRedBall.Screens.ScreenManager.OnStateDeactivating">
            <summary>Do all state deactivation work here.</summary>
        </member>
        <member name="M:FlatRedBall.Screens.ScreenManager.OnStateActivating">
            <summary>Do all state activation work here</summary>
        </member>
        <member name="F:FlatRedBall.Sprite.mEmpty">
            <summary>
            Used by particles to flag a particular Sprite as empty.
            </summary>
            <remarks>
            The SpriteManager is responsible for particle recycling and uses this value to indicate
            whether a Sprite is currently used.  This should not be manually modified.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Sprite.AnimateSelf(System.Double)">
            <summary>
            Performs the every-frame logic for updating the current AnimationFrame index.  If the
            Sprite is part of the SpriteManager then this is automatically called.
            </summary>
            <param name="currentTime">The number of seconds that have passed since the game has started running.</param>
        </member>
        <member name="M:FlatRedBall.Sprite.ClearAnimationChains">
            <summary>
            Clears all references to AnimationChains and sets the Animate property to false.
            </summary>
        </member>
        <member name="M:FlatRedBall.Sprite.RemoveAnimationChain(FlatRedBall.Graphics.Animation.AnimationChain)">
            <summary>
            Removes the AnimationChain from the Sprite's internal AnimationChain List.
            </summary>
            <remarks>
            If the chainToRemove is also the CurrentChain, the animate field 
            is set to false.
            </remarks>
            <param name="chainToRemove">The AnimationChain to remove.</param>
        </member>
        <member name="M:FlatRedBall.Sprite.SetAnimationChain(FlatRedBall.Graphics.Animation.AnimationChain)">
            <summary>
            Sets the argument chainToSet as the animationChain. If the argument chainToSet is not
            part of the Sprite's internal list of AnimationChains, it is added.
            </summary>
            <remarks>
            This differs from FlatRedBall MDX - this method on FlatRedBall MDX does not add the argument
            AnimationChain to the Sprite's internal list.
            <para>
            This does not set any animation-related properties, but it does set the current
            texture to the current frame's texture.  Therefore, it is still necessary to set Animate to true.
            </para>
            </remarks>
            <param name="chainToSet">The AnimationChain to set as the current AnimationChain.  This is
            added to the internal AnimationChains property if it is not already there.</param>
        </member>
        <member name="M:FlatRedBall.Sprite.SetAnimationChain(System.String)">
            <summary>
            Sets the current AnimationChain by name and keeps the CurrentFrame the same.
            </summary>
            <remarks>
            This method assumes that the Sprite contains a reference to an AnimationChain with the name matching chainToSet.  Passing a
            name that is not found in the Sprite's AnimationChainArray will not cause any changes.
            
            <para>This method will keep the CurrentFrame property the same (unless it exceeds the bounds of the new AnimationChain).  In the 
            case that the CurrentFrame is greater than the bounds of the new AnimationChain, the animation will cycle back to the beginning.
            The animate field is not changed to true if it is false.</para>
            <seealso cref="!:FRB.Sprite.AnimationChains"/>
            </remarks>
            <param name="chainToSet">The name of the AnimationChain to set as current.</param>
        </member>
        <member name="M:FlatRedBall.Sprite.SetScaleYRatioToX">
            <summary>
            Sets the ScaleY so that the ScaleX/ScaleY ratio is the same as the source image used for the Sprite's texture.
            </summary>
        </member>
        <member name="M:FlatRedBall.Sprite.SetScaleXRatioToY">
            <summary>
            Sets the ScaleY so that the ScaleX/ScaleY ratio is the same as the source image used for the Sprite's texture.
            </summary>
        </member>
        <member name="M:FlatRedBall.Sprite.TimedActivity(System.Single,System.Double,System.Single)">
            <summary>
            Applies all velocities, rates, accelerations for real and relative values.
            If the Sprite is part of the SpriteManager (which is common) then this is automatically
            called.
            </summary>
            <param name="secondDifference">The number of seocnds that have passed since last frame.</param>
            <param name="secondDifferenceSquaredDividedByTwo">Precalculated (secondDifference * secondDifference)/2.0f for applying acceleration.</param>
            <param name="secondsPassedLastFrame">The number of seconds that passed last frame for calculating "real" values.</param>
        </member>
        <member name="M:FlatRedBall.Sprite.Clone">
            <summary>
            Returns a clone of this instance.
            </summary>
            <remarks>
            Attachments are not cloned.  The new clone
            will not have any parents or children.
            </remarks>
            <returns>The new clone.</returns>
        </member>
        <member name="P:FlatRedBall.Sprite.CurrentChain">
            <summary>
            Gets the current animationChain - retrieved through the CurrentChainIndex property.
            </summary>
        </member>
        <member name="P:FlatRedBall.Sprite.TimeCreated">
            <summary>
            The time returned by the TimeManager when the Sprite was created.
            </summary>
            <remarks>
            This value is automatically set when the Sprite
            is added through the SpriteManager.  If a Sprite is created manually (either as a
            Sprite or a class inheriting from the Sprite class) this value should be set manually
            if it is to be used later.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Sprite.Visible">
            <summary>
            Controls the visibility of the Sprite
            </summary>
            <remarks>
            This variable controls the visiblity of the Sprite.  Sprites are visible
            by default.  Setting Visible to false will make the sprite invisible, but
            the Sprite will continue to behave regularly; custom behavior, movement, attachment,
            and animation are still executed, and collision is possible.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Sprite.Alpha">
            <summary>
            Controls the Sprite's transparency.
            </summary>
            <remarks>
            Fade controls a Sprite's transparency.   A completely opaque Sprite has an
            Alpha of 1 while a completely transparent object has an Alpha of 0.
            
            Setting the AlphaRate of a completely opaque Sprite to -1 will 
            make the sprite disappear in one second.  Invisible Sprites continue
            to remain in memory and are managed by the SpriteManager.  The Alpha variable
            will automatically regulate itself if the value is set to something outside of the
            0 - 1 range.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Sprite.AlphaRate">
            <summary>
            Sets the rate at which the Alpha property changes.  This is in units per second.  A fully opaque
            Sprite (Alpha = 1) will disappear in 1 second if its AlphaRate is set to -1.
            </summary>
            <remarks>
            The AlphaRate changes Alpha as follows:
            <para>
            Alpha += AlphaRate * TimeManager.SecondDifference;
            </para>
            This is automatically applied if the Sprite is managed by the SpriteManager(usually the case).
            </remarks>
        </member>
        <member name="P:FlatRedBall.Sprite.FlipHorizontal">
            <summary>
            Whether to flip the Sprite's texture on the y Axis (left and right switch).
            </summary>
            <remarks>
            This kind of texture rotation can be accomplished by simply rotating 
            a Sprite on its yAxis; however, there are times when this
            is inconvenient or impossible due to attachment relationships.  There 
            is no efficiency consequence for using either method.  If a Sprite
            is animated, this value will be overwritten by the AnimationChain being used.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Sprite.FlipVertical">
            <summary>
            Whether to flip the Sprite's texture on the x Axis (top and bottom switch).
            </summary>
            <remarks>
            This kind of texture rotation can be accomplished by simply rotating a 
            Sprite on its xAxis; however, there are times when this
            is inconvenient or impossible due to attachment relationships.  
            There is no efficiency consequence for using either method.  If a Sprite
            is animated, this value will be overwritten by the AnimationChain being used.
            </remarks>
        </member>
        <member name="P:FlatRedBall.Sprite.Vertices">
            <summary>
            These can be used to change Sprite appearance
            on individual vertices.
            </summary>
            <remarks>
            The index begins counting at the top left (index 0)
            and increases moving clockwise.
            </remarks>
        </member>
        <member name="T:FlatRedBall.SpriteCustomBehavior">
            <summary>
            Delegate for methods which can be assigned to the Sprite for every-frame
            custom logic or when a Sprite is removed.
            </summary>
            <remarks>
            <seealso cref="F:FlatRedBall.Sprite.CustomBehavior"/>
            <seealso cref="E:FlatRedBall.Sprite.Remove"/>
            </remarks>
            <param name="sprite">The Sprite on which the logic should execute.</param>
        </member>
        <member name="M:FlatRedBall.SpriteList.FindSpritesWithTexture(Microsoft.Xna.Framework.Graphics.Texture2D)">
            <summary>
            Returns a one-way SpriteList containing all Sprites in this SpriteList which reference the texture argument.
            </summary>
            <param name="texture">The texture to match against.</param>
            <returns>SpriteList containing Sprites with matching textures.</returns>
        </member>
        <member name="M:FlatRedBall.SpriteList.SortTextureInsertion(System.Int32,System.Int32)">
            <summary>
            Sorts a sub-array of the SpriteArray by their Texture.
            </summary>
            <param name="firstSprite">Index of the first Sprite, inclusive.</param>
            <param name="lastSpriteExclusive">Index of the last Sprite, exclusive.</param>
        </member>
        <member name="T:FlatRedBall.Updater">
            <summary>
            Contains logic for updating objects.  This is used to separate 
            updates into different threads
            </summary>
        </member>
        <member name="T:FlatRedBall.SpriteManager">
            <summary>
            Static manager class which handles the management of Sprites, SpriteFrames, Cameras, and
            other PositionedObjects.
            </summary>
            <remarks>
            The SpriteManager is commonly used in FlatRedBall examples to create Sprites.  Perhaps the most
            common line of code is:
            
                Sprite sprite = SpriteManager.AddSprite("redball.bmp");
            
            Originally the SpriteManager was the only manager class.  For this reason it handled
            some of the functionality which may have normally belonged to classes unrelated to Sprites.
            For example, Cameras are added and managed through the SpriteManager although they are a general
            rendering class which might belong in the Renderer or FlatRedBallServices class.
            </remarks>
        </member>
        <member name="F:FlatRedBall.SpriteManager.mParticleSprites">
            <summary>
            SpriteList filled with valid Sprites at the start of execution.
            </summary>
            <remarks>
            Particle Sprites are defined as Sprites which have a short lifespan and
            are created frequently.  Common uses are smoke, bullets, and explosions.
            </remarks>
        </member>
        <member name="M:FlatRedBall.SpriteManager.SetCurrentCamera(System.Int32)">
            <summary>
            This function is inteded for internal use only during rendering.
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.SpriteManager.#cctor">
            <summary>
            Creates a new SpriteManager.  Also creates a new FileManager, TextureManager, and Renderer.
            </summary>
            <param name="game"></param>
        </member>
        <member name="M:FlatRedBall.SpriteManager.GetDuplicateMembership">
            <summary>
            Returns the first object which is added twice to the SpriteManager, or null if none are found.
            </summary>
            <returns>The first duplicate object or null.</returns>
        </member>
        <member name="M:FlatRedBall.SpriteManager.IsManaging(FlatRedBall.Sprite)">
            <summary>
            Returns whether the SpriteManager is holding a reference to the argment sprite.
            </summary>
            <param name="sprite">The sprite to check references for.</param>
            <returns>Whether the argument Sprite is referenced by the SpriteManager.</returns>
        </member>
        <member name="M:FlatRedBall.SpriteManager.RemoveDrawableBatch(FlatRedBall.Graphics.IDrawableBatch)">
            <summary>
            Removes the argument DrawableBatch from the internal list and calls its Destroy method.
            </summary>
            <param name="drawableBatch">The DrawableBatch to remove.</param>
        </member>
        <member name="M:FlatRedBall.SpriteManager.RemoveSpritePreserveRelationships(FlatRedBall.Sprite)">
            <summary>
            Removes the Sprite from the SpriteManager but preserves emitters, attachment and children references. 
            </summary>
            <remarks>
            Although the removed Sprite will preserve its parent and children, the parent will 
            no longer see this Sprite as its child, and the children will no longer see this 
            Sprite as their parent.  The preservation of relationships is not a functional one.  Usually
            this method is used to keep relationships alive on a removed Sprite for reattachment at
            a later time.
            </remarks>
            <param name="spriteToRemove">The Sprite to remove.</param>
        </member>
        <member name="M:FlatRedBall.SpriteManager.ReplaceTexture(Microsoft.Xna.Framework.Graphics.Texture2D,Microsoft.Xna.Framework.Graphics.Texture2D)">
            <summary>
            Finds all contained Sprites which reference the argument oldTexture and replaces
            the reference with newTexture.
            </summary>
            <remarks>
            This method will preserve all sizes of Sprites even if they use a non-zero PixelSize.
            </remarks>
            <param name="oldTexture">The old Texture2D to replace.</param>
            <param name="newTexture">The new Texture2D to use as a replacement.</param>
        </member>
        <member name="M:FlatRedBall.SpriteManager.UpdateDependencies">
            <summary>
            Updates the dependencies of all contained automatically updated Sprites, Cameras, and SpriteFrames.
            </summary>
        </member>
        <member name="P:FlatRedBall.SpriteManager.AutomaticallyUpdatedSprites">
            <summary>
            A read-only collection of Sprites which are automatically managed
            every frame.
            </summary>
            <remarks>
            Sprites in this list have all of their behavioral properties
            applied automatically.  Examples of these properties include
            Velocity, Acceleration, rotational velocity, and color rates.
            This manage requires overhead which can become a significant portion
            of frame time, so moving Sprites to be manually updated can improve performance.
            
            Most methods which create Sprites will place the created Sprite in this list.
            
            <seealso cref="M:FlatRedBall.SpriteManager.ConvertToAutomaticallyUpdated(FlatRedBall.Sprite)"/>
            <seealso cref="M:FlatRedBall.SpriteManager.ConvertToManuallyUpdated(FlatRedBall.Sprite)"/>
            </remarks>
        </member>
        <member name="P:FlatRedBall.SpriteManager.Camera">
            <summary>
            Gets the default Camera.
            </summary>
            <remarks>
            If your application is only using one Camera, then this Camera can be
            used for all logic.  This Camera is automatically created by the engine,
            so single-camera applications do not need to instantiate their own Camera.
            </remarks>
        </member>
        <member name="P:FlatRedBall.SpriteManager.Cameras">
            <summary>
            The List of all Cameras used by FlatRedBall.  Any Camera in this List is managed and
            renders according to its settings.
            </summary>
            <remarks>
            Adding a Camera to this list will result in the Camera being managed by the engine and
            rendered.  There is no AddCamera method - simply adding the Camera to this list is sufficient
            for adding it to the engine.
            </remarks>
        </member>
        <member name="P:FlatRedBall.SpriteManager.DrawableBatches">
            <summary>
            A read-only collection of IDrawableBatches.
            </summary>
            <remarks>
            <seealso cref="M:FlatRedBall.SpriteManager.AddDrawableBatch(FlatRedBall.Graphics.IDrawableBatch)"/>
            <seealso cref="M:FlatRedBall.SpriteManager.RemoveDrawableBatch(FlatRedBall.Graphics.IDrawableBatch)"/>
            </remarks>
        </member>
        <member name="P:FlatRedBall.SpriteManager.AutoIncrementParticleCountValue">
            <summary>
            When not set to 0 and the number of particles on screen exceed what is available, then
            the MaxParticleCount will be incremented by this amount.  Otherwise, it will throw
            an out of particles exception.
            </summary>
        </member>
        <member name="P:FlatRedBall.SpriteManager.SpriteFrames">
            <summary>
            Read-only collection of SpriteFrames managed by the SpriteManager.
            </summary>
        </member>
        <member name="P:FlatRedBall.SpriteManager.OrderedSortType">
            <summary>
            Gets and sets the sorting type used on Sprites, Text objects, and DrawableBatches
            in the world (not on layers).
            </summary>
        </member>
        <member name="T:FlatRedBall.TimeMeasurementUnit">
            <summary>
            Represents the unit of time measurement.  This can be used in files that store timing information.
            </summary>
        </member>
        <member name="M:FlatRedBall.TimeManager.Initialize">
            <summary>
            Allows the game component to perform any initialization it needs to before starting
            to run.  This is where it can query for any required services and load content.
            </summary>
        </member>
        <member name="M:FlatRedBall.TimeManager.StartSumTiming">
             <summary>
             Begins Sum Timing
             </summary>
             <remarks>
             <code>
             
             StartSumTiming();
             
             foreach(Sprite sprite in someSpriteArray)
             {
                 SumTimeRefresh();
                 PerformSomeFunction(sprite);
                 SumTimeSection("PerformSomeFunction time:");
             
             
                 SumTimeRefresh();
                 PerformSomeOtherFunction(sprite);
                 SumTimeSection("PerformSomeOtherFunction time:);
             
             }
             </code>
            
             </remarks>
        </member>
        <member name="M:FlatRedBall.TimeManager.TimeSection">
            <summary>
            Stores an unnamed timed section.
            </summary>
            <remarks>
            A timed section is the amount of time (in seconds) since the last time either Update
            or TimeSection has been called.  The sections are reset every time Update is called.
            The sections can be retrieved through the GetTimedSections method.
            <seealso cref="!:FRB.TimeManager.GetTimedSection"/>
            </remarks>
        </member>
        <member name="M:FlatRedBall.TimeManager.TimeSection(System.String)">
            <summary>
            Stores an named timed section.
            </summary>
            <remarks>
            A timed section is the amount of time (in seconds) since the last time either Update
            or TimeSection has been called.  The sections are reset every time Update is called.
            The sections can be retrieved through the GetTimedSections method.
            <seealso cref="!:FRB.TimeManager.GetTimedSection"/>
            </remarks>
            <param name="label">The label for the timed section.</param>
        </member>
        <member name="M:FlatRedBall.TimeManager.Update(Microsoft.Xna.Framework.GameTime)">
            <summary>
            Performs every-frame logic to update timing values such as CurrentTime and SecondDifference.  If this method is not called, CurrentTime will not advance.
            </summary>
            <param name="time">The GameTime value provided by the XNA Game class.</param>
        </member>
        <member name="P:FlatRedBall.TimeManager.SecondDifference">
            <summary>
            The number of seconds (usually a fraction of a second) since
            the last frame.  This value can be used for time-based movement.
            </summary>
        </member>
        <member name="P:FlatRedBall.TimeManager.TimeFactor">
            <summary>
            A multiplier for how fast time runs.  This is 1 by default.  Setting
            this value to 2 will make everything run twice as fast.
            </summary>
        </member>
        <member name="F:FlatRedBall.Utilities.BackStackBehavior.Move">
            <summary>Places the current screen onto the back stack, and moves to the next one.</summary>
        </member>
        <member name="F:FlatRedBall.Utilities.BackStackBehavior.Ignore">
            <summary>The current screen will not be put onto the backstack.</summary>
        </member>
        <member name="T:FlatRedBall.Utilities.BackStack`1">
            <summary>Support class used to add navigation features to the Screen API.</summary>
            <remarks>The behavior of this is that if an item exists on the stack already, the backstack will
            "go back" until it reaches that item. This behavior helps avoid circular dependencies and promotes
            tree/leaf navigation.</remarks>
        </member>
        <member name="M:FlatRedBall.Utilities.BackStack`1.Back">
            <summary>Moves to the previous item on the stack.</summary>
            <returns>default(T) if the stack is empty, otherwise, returns the previous item on the stack.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.BackStack`1.Replace(`0)">
            <summary>Call this method in scenarios where you want to skip the current item when navigating back from the next
            value.</summary>
        </member>
        <member name="M:FlatRedBall.Utilities.BackStack`1.MoveTo(`0)">
            <summary>If the value exists in the stack, will pop items on the stack until it returns to that value.
            Otherwise will add on top of the stack. BackStackBehavior defaults to Move.</summary>
        </member>
        <member name="M:FlatRedBall.Utilities.BackStack`1.MoveTo(`0,FlatRedBall.Utilities.BackStackBehavior)">
            <summary>If the value exists in the stack, will pop items on the stack until it returns to that value.
            Otherwise will add on top of the stack. BackStackBehavior defaults to Move.</summary>
        </member>
        <member name="P:FlatRedBall.Utilities.BackStack`1.Current">
            <summary>avoid setting this property, setter is only public to support serialization when we tombstone.</summary>
        </member>
        <member name="P:FlatRedBall.Utilities.BackStack`1.StackArray">
            <summary>This property is here to support serialization when we tombstone.</summary>
        </member>
        <member name="T:FlatRedBall.Utilities.CustomBehaviorFunctions">
            <summary>
            Static class containing a collection of common methods used as CustomBehaviors.
            </summary>
        </member>
        <member name="M:FlatRedBall.Utilities.CustomBehaviorFunctions.RemoveWhenInvisible(FlatRedBall.Sprite)">
            <summary>
            Removes the argument Sprite when its Alpha equals 0.
            </summary>
            <param name="sprite">The Sprite to remove.</param>
        </member>
        <member name="M:FlatRedBall.Utilities.CustomBehaviorFunctions.RemoveWhenOutsideOfScreen(FlatRedBall.Sprite)">
            <summary>
            Removes the argument Sprite when it is outside of the default Camera's view (SpriteManager.Camera).
            </summary>
            <param name="sprite">The Sprite to remove.</param>
        </member>
        <member name="M:FlatRedBall.Utilities.CustomBehaviorFunctions.RemoveWhenJustCycled(FlatRedBall.Sprite)">
            <summary>
            Removes teh argument Sprite after it cycles its AnimationChain.  
            </summary>
            <param name="sprite">The Sprite to remove.</param>
        </member>
        <member name="M:FlatRedBall.Utilities.CustomBehaviorFunctions.RemoveWhenAlphaIs1(FlatRedBall.Sprite)">
            <summary>
            Removes the argument Sprite if it is opaque.
            </summary>
            <remarks>
            This method is commonly used with Sprites which have a 
            positive AlphaRate and which should be removed when completely visible.
            </remarks>
            <param name="si">Sprite to remove.</param>\
        </member>
        <member name="T:FlatRedBall.Utilities.DebuggingFunctions">
            <summary>
            Class providing methods which can help during debugging.
            </summary>
        </member>
        <member name="T:FlatRedBall.Utilities.ExportOrderAttribute">
            <summary>
            Represents the order that variables appear in Glue.
            </summary>
        </member>
        <member name="T:FlatRedBall.Utilities.SpriteSelectionOptions">
            <summary>
            Contains information for simulating an expansion or contraction of a Sprite. 
            </summary>
            <remarks>
            This struct is used by a number of FlatRedball classes such as SpriteGrid and MathFunctions.
            </remarks>
        </member>
        <member name="M:FlatRedBall.Utilities.StringBuilderExtensions.IndexOf(System.Text.StringBuilder,System.Char)">
            <summary>
            Get index of a char
            </summary>
            <param name="sb"></param>
            <param name="c"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringBuilderExtensions.IndexOf(System.Text.StringBuilder,System.Char,System.Int32)">
            <summary>
            Get index of a char starting from a given index
            </summary>
            <param name="sb"></param>
            <param name="c"></param>
            <param name="startIndex"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringBuilderExtensions.IndexOf(System.Text.StringBuilder,System.String)">
            <summary>
            Get index of a string
            </summary>
            <param name="sb"></param>
            <param name="text"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringBuilderExtensions.IndexOf(System.Text.StringBuilder,System.String,System.Int32)">
            <summary>
            Get index of a string from a given index
            </summary>
            <param name="sb"></param>
            <param name="text"></param>
            <param name="startIndex"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringBuilderExtensions.IndexOf(System.Text.StringBuilder,System.String,System.Boolean)">
            <summary>
            Get index of a string with case option
            </summary>
            <param name="sb"></param>
            <param name="text"></param>
            <param name="ignoreCase"></param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringBuilderExtensions.IndexOf(System.Text.StringBuilder,System.String,System.Int32,System.Boolean)">
            <summary>
            Get index of a string from a given index with case option
            </summary>
            <param name="sb"></param>
            <param name="text"></param>
            <param name="startIndex"></param>
            <param name="ignoreCase"></param>
            <returns></returns>
        </member>
        <member name="T:FlatRedBall.Utilities.StringEnum">
            <summary>
            Helper class for working with 'extended' enums using <see cref="T:FlatRedBall.Utilities.StringValueAttribute"/> attributes.
            </summary>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.#ctor(System.Type)">
            <summary>
            Creates a new <see cref="T:FlatRedBall.Utilities.StringEnum"/> instance.
            </summary>
            <param name="enumType">Enum type.</param>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.GetStringValue(System.String)">
            <summary>
            Gets the string value associated with the given enum value.
            </summary>
            <param name="valueName">Name of the enum value.</param>
            <returns>String Value</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.GetStringValues">
            <summary>
            Gets the string values associated with the enum.
            </summary>
            <returns>String value array</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.GetListValues">
            <summary>
            Gets the values as a 'bindable' list datasource.
            </summary>
            <returns>IList for data binding</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.IsStringDefined(System.String)">
            <summary>
            Return the existence of the given string value within the enum.
            </summary>
            <param name="stringValue">String value.</param>
            <returns>Existence of the string value</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.IsStringDefined(System.String,System.Boolean)">
            <summary>
            Return the existence of the given string value within the enum.
            </summary>
            <param name="stringValue">String value.</param>
            <param name="ignoreCase">Denotes whether to conduct a case-insensitive match on the supplied string value</param>
            <returns>Existence of the string value</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.GetStringValue(System.Enum)">
            <summary>
            Gets a string value for a particular enum value.
            </summary>
            <param name="value">Value.</param>
            <returns>String Value associated via a <see cref="T:FlatRedBall.Utilities.StringValueAttribute"/> attribute, or null if not found.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.Parse(System.Type,System.String)">
            <summary>
            Parses the supplied enum and string value to find an associated enum value (case sensitive).
            </summary>
            <param name="type">Type.</param>
            <param name="stringValue">String value.</param>
            <returns>Enum value associated with the string value, or null if not found.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.Parse(System.Type,System.String,System.Boolean)">
            <summary>
            Parses the supplied enum and string value to find an associated enum value.
            </summary>
            <param name="type">Type.</param>
            <param name="stringValue">String value.</param>
            <param name="ignoreCase">Denotes whether to conduct a case-insensitive match on the supplied string value</param>
            <returns>Enum value associated with the string value, or null if not found.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.IsStringDefined(System.Type,System.String)">
            <summary>
            Return the existence of the given string value within the enum.
            </summary>
            <param name="stringValue">String value.</param>
            <param name="enumType">Type of enum</param>
            <returns>Existence of the string value</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringEnum.IsStringDefined(System.Type,System.String,System.Boolean)">
            <summary>
            Return the existence of the given string value within the enum.
            </summary>
            <param name="stringValue">String value.</param>
            <param name="enumType">Type of enum</param>
            <param name="ignoreCase">Denotes whether to conduct a case-insensitive match on the supplied string value</param>
            <returns>Existence of the string value</returns>
        </member>
        <member name="P:FlatRedBall.Utilities.StringEnum.EnumType">
            <summary>
            Gets the underlying enum type for this instance.
            </summary>
            <value></value>
        </member>
        <member name="T:FlatRedBall.Utilities.StringValueAttribute">
            <summary>
            Simple attribute class for storing String Values
            </summary>
        </member>
        <member name="M:FlatRedBall.Utilities.StringValueAttribute.#ctor(System.String)">
            <summary>
            Creates a new <see cref="T:FlatRedBall.Utilities.StringValueAttribute"/> instance.
            </summary>
            <param name="value">Value.</param>
        </member>
        <member name="P:FlatRedBall.Utilities.StringValueAttribute.Value">
            <summary>
            Gets the value.
            </summary>
            <value></value>
        </member>
        <member name="T:FlatRedBall.Utilities.StringFunctions">
            <summary>
            A class containing common string maniuplation methods.
            </summary>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.CountOf(System.String,System.String)">
            <summary>
            Returns the number of times that the argument whatToFind is found in the calling string.
            </summary>
            <param name="instanceToSearchIn">The string to search within.</param>
            <param name="whatToFind">The string to search for.</param>
            <returns>The number of instances found</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.CharacterCountWithoutWhitespace(System.String)">
            <summary>
            Returns the number of non-whitespace characters in the argument stringInQuestion.
            </summary>
            <remarks>
            This method is used internally by the TextManager to determine the number of vertices needed to
            draw a Text object.
            </remarks>
            <param name="stringInQuestion">The string to have its non-witespace counted.</param>
            <returns>The number of non-whitespace characters counted.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.FloatToString(System.Single,System.Int32)">
            <summary>
            Returns a string of the float with the argument decimalsAfterPoint digits of resolution after the point.
            </summary>
            <param name="floatToConvert">The float to convert.</param>
            <param name="decimalsAfterPoint">The number of decimals after the point.  For example, 3.14159 becomes "3.14" if the
            decimalsAfterPoint is 2.  This method will not append extra decimals to reach the argument decimalsAfterPoint.</param>
            <returns>The string representation of the argument float.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.GetCharAfter(System.String,System.String)">
            <summary>
            Returns the character that can be found after a particular sequence of characters.
            </summary>
            <remarks>
            This will return the first character following a particular sequence of characters.  For example, 
            GetCharAfter("bcd", "abcdef") would return 'e'.
            </remarks>
            <param name="stringToSearchFor">The string to search for.</param>
            <param name="whereToSearch">The string to search in.</param>
            <returns>Returns the character found or the null character '\0' if the string is not found.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.GetFloatAfter(System.String,System.String)">
            <summary>
            Returns the float that can be found after a particular sequence of characters.
            </summary>
            <remarks>
            This will return the float following a particular sequence of characters.  For example, 
            GetCharAfter("height = 6; width = 3; depth = 7;", "width = ") would return 3.0f. 
            </remarks>
            <param name="stringToSearchFor">The string to search for.</param>
            <param name="whereToSearch">The string to search in.</param>
            <returns>Returns the float value found or float.NaN if the string is not found.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.GetIntAfter(System.String,System.String)">
            <summary>
            Returns the first integer found after the argument stringToSearchFor in whereToSearch.
            </summary>
            <remarks>
            This method is used to help simplify parsing of text files and data strings.
            If stringToSearchFor is "Y:" and whereToSearch is "X: 30, Y:32", then the value
            of 32 will be returned.
            </remarks>
            <param name="stringToSearchFor">The string pattern to search for.</param>
            <param name="whereToSearch">The string that will be searched.</param>
            <returns>The integer value found after the argument stringToSearchFor.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.GetIntAfter(System.String,System.String,System.Int32)">
            <summary>
            Returns the first integer found after the argument stringToSearchFor.  The search begins
            at the argument startIndex.
            </summary>
            <param name="stringToSearchFor">The string pattern to search for.</param>
            <param name="whereToSearch">The string that will be searched.</param>
            <param name="startIndex">The index to begin searching at.  This method
            will ignore any instances of stringToSearchFor which begin at an index smaller
            than the argument startIndex.</param>
            <returns></returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.GetLineCount(System.String)">
            <summary>
            Returns the number of lines in a given string.  Newlines '\n' increase the 
            line count.
            </summary>
            <param name="stringInQuestion">The string that will have its lines counted.</param>
            <returns>The number of lines in the argument.  "Hello" will return a value of 1, "Hello\nthere" will return a value of 2.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.GetNumberAtEnd(System.String)">
            <summary>
            Returns the number found at the end of the argument stringToGetNumberFrom or throws an
            ArgumentException if no number is found.
            </summary>
            <remarks>
            A stringToGetNumberFrom of "sprite41" will result in the value of 41 returned.  A 
            stringToGetNumberFrom of "sprite" will result in an ArgumentException being thrown.
            </remarks>
            <exception cref="T:System.ArgumentException">Throws ArgumentException if no number is found at the end of the argument string.</exception>
            <param name="stringToGetNumberFrom">The number found at the end.</param>
            <returns>The integer value found at the end of the stringToGetNumberFrom.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.IncrementNumberAtEnd(System.String)">
            <summary>
            Increments the number at the end of a string or adds a number if none exists.
            </summary>
            <remarks>
            This method begins looking at the end of a string for numbers and moves towards the beginning of the string
            until it encounters a character which is not a numerical digit or the beginning of the string.  "Sprite123" would return
            "Sprite124", and "MyString" would return "MyString1".
            </remarks>
            <param name="originalString">The string to "increment".</param>
            <returns>Returns a string with the number at the end incremented, or with a number added on the end if none existed before.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.InsertSpacesInCamelCaseString(System.String)">
            <summary>
            Inserts spaces before every capital letter in a camel-case
            string.  Ignores the first letter.
            </summary>
            <remarks>
            For example "HelloThereIAmCamelCase" becomes
            "Hello There I Am Camel Case".
            </remarks>
            <param name="originalString">The string in which to insert spaces.</param>
            <returns>The string with spaces inserted.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.MakeNameUnique``1(``0,System.Collections.Generic.IList{``0})">
            <summary>
            Renames the argument INameable to prevent duplicate names.  This method is extremely inefficent for large lists.
            </summary>
            <typeparam name="T">The type of INameable contained int he list.</typeparam>
            <param name="nameable">The INameable to rename if necessary.</param>
            <param name="list">The list containing the INameables to compare against.</param>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.MakeNameUnique``2(``0,System.Collections.Generic.IList{``1})">
            <summary>
            Makes an INameable's name unique given a list of existing INameables.
            </summary>
            <typeparam name="T">The type of nameable.</typeparam>
            <typeparam name="U">The type of IList, where the type is an INameable</typeparam>
            <param name="nameable">The instance to modify if necessary.</param>
            <param name="list">The list of INameables</param>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.RemoveNumberAtEnd(System.String)">
            <summary>
            Removes the number found at the end of the argument originalString and returns the resulting
            string, or returns the original string if no number is found.
            </summary>
            <param name="originalString">The string that will have the number at its end removed.</param>
            <returns>The string after the number has been removed.</returns>
        </member>
        <member name="M:FlatRedBall.Utilities.StringFunctions.RemoveWhitespace(System.String)">
            <summary>
            Removes all whitespace found in the argument stringToRemoveWhitespaceFrom.
            </summary>
            <param name="stringToRemoveWhitespaceFrom">The string that will have its whitespace removed.</param>
            <returns>The string resulting from removing whitespace from the argument string.</returns>
        </member>
    </members>
</doc>
